MDX 查询没有 return 任何值,它应该 - 可能是由于 where 子句
MDX query does not return any values, which it should - possibly due to the where clause
我正在尝试使用以下 MDX 查询在 SSRS 中创建数据集:
SELECT NON EMPTY { [Measures].[Quantity],[Measures].[Total Price],
[Measures]Margin],[Measures].[Profit Margin] } on columns,
NON EMPTY {([Dim Product2].[Product Group], [Dim Product2].[Summary],
[Dim Time].[Open Hour Bucket].allmembers)} on rows
from [theyseemecubin]
where {([Dim Store2].[Store Key].&[1046],[Dim Date].[Calender].[Date].&[2014-11-20])}
我想在其中汇总特定日期某商店的每日销售额。当我只有:
where [Dim Store2].[Store Key].&[1046]
在where子句中,Query返回了正确的数据。但是,当我也尝试插入 Date
时,结果集就什么都没有了,尽管我已经在多维数据集中检查了当天应该售出 14 个单位。
我做错了什么?我是否误解了如何在 MDX 中使用 SQL 等效项 Where StoreKey = 1046 AND Date=2014-11-20
?
看起来还不错:
SELECT
NON EMPTY
{
[Measures].[Quantity]
,[Measures].[Total Price]
,[Measures].[Margin]
,[Measures].[Profit Margin]
} ON COLUMNS
,NON EMPTY
{
(
[Dim Product2].[Product Group]
,[Dim Product2].[Summary]
,[Dim Time].[Open Hour Bucket].ALLMEMBERS
)
} ON ROWS
FROM [theyseemecubin]
WHERE
{
(
[Dim Store2].[Store Key].&[1046]
,[Dim Date].[Calender].[Date].&[2014-11-20]
)
};
您不需要花括号,因为元组就足够了:
SELECT
NON EMPTY
{
[Measures].[Quantity]
,[Measures].[Total Price]
,[Measures].[Margin]
,[Measures].[Profit Margin]
} ON COLUMNS
,NON EMPTY
{
(
[Dim Product2].[Product Group]
,[Dim Product2].[Summary]
,[Dim Time].[Open Hour Bucket].ALLMEMBERS
)
} ON ROWS
FROM [theyseemecubin]
WHERE
(
[Dim Store2].[Store Key].&[1046]
,[Dim Date].[Calender].[Date].&[2014-11-20]
);
元组是一个逻辑 AND
所以是的,它等同于 sql。如果你想做一个合乎逻辑的 OR
你需要稍微改变一下并使用一个集合。
也许需要检查一件事 - 这绝对是会员的全名吗? [Dim Date].[Calender].[Date].&[2014-11-20]
... 大多数 mdx 工具(SSMS 和 MDXstudio)您应该能够将成员拖放到查询窗格中以查看全名。
我正在尝试使用以下 MDX 查询在 SSRS 中创建数据集:
SELECT NON EMPTY { [Measures].[Quantity],[Measures].[Total Price],
[Measures]Margin],[Measures].[Profit Margin] } on columns,
NON EMPTY {([Dim Product2].[Product Group], [Dim Product2].[Summary],
[Dim Time].[Open Hour Bucket].allmembers)} on rows
from [theyseemecubin]
where {([Dim Store2].[Store Key].&[1046],[Dim Date].[Calender].[Date].&[2014-11-20])}
我想在其中汇总特定日期某商店的每日销售额。当我只有:
where [Dim Store2].[Store Key].&[1046]
在where子句中,Query返回了正确的数据。但是,当我也尝试插入 Date
时,结果集就什么都没有了,尽管我已经在多维数据集中检查了当天应该售出 14 个单位。
我做错了什么?我是否误解了如何在 MDX 中使用 SQL 等效项 Where StoreKey = 1046 AND Date=2014-11-20
?
看起来还不错:
SELECT
NON EMPTY
{
[Measures].[Quantity]
,[Measures].[Total Price]
,[Measures].[Margin]
,[Measures].[Profit Margin]
} ON COLUMNS
,NON EMPTY
{
(
[Dim Product2].[Product Group]
,[Dim Product2].[Summary]
,[Dim Time].[Open Hour Bucket].ALLMEMBERS
)
} ON ROWS
FROM [theyseemecubin]
WHERE
{
(
[Dim Store2].[Store Key].&[1046]
,[Dim Date].[Calender].[Date].&[2014-11-20]
)
};
您不需要花括号,因为元组就足够了:
SELECT
NON EMPTY
{
[Measures].[Quantity]
,[Measures].[Total Price]
,[Measures].[Margin]
,[Measures].[Profit Margin]
} ON COLUMNS
,NON EMPTY
{
(
[Dim Product2].[Product Group]
,[Dim Product2].[Summary]
,[Dim Time].[Open Hour Bucket].ALLMEMBERS
)
} ON ROWS
FROM [theyseemecubin]
WHERE
(
[Dim Store2].[Store Key].&[1046]
,[Dim Date].[Calender].[Date].&[2014-11-20]
);
元组是一个逻辑 AND
所以是的,它等同于 sql。如果你想做一个合乎逻辑的 OR
你需要稍微改变一下并使用一个集合。
也许需要检查一件事 - 这绝对是会员的全名吗? [Dim Date].[Calender].[Date].&[2014-11-20]
... 大多数 mdx 工具(SSMS 和 MDXstudio)您应该能够将成员拖放到查询窗格中以查看全名。