我的MDX查询为
SELECT
{[Measures].[SaleAMT]} ON COLUMNS
,NON EMPTY
[Account Date13h].[Date].&[2015-01-01T00:00:00]
:
[Account Date13h].[Date].&[2015-05-05T00:00:00] ON ROWS
FROM [Sale_Period_report];
我想要返回销售的产品数量,就像那样:
Date SaleAmt ProductSold
2015-04-01 20.000 150
2015-04-02 36.212 650
2015-04-05 10.333 65
答案 0 :(得分:0)
如果您有一个提供销售产品的指标,请使用此查询:
SELECT
{[Measures].[SaleAMT], [Measures].[ProductsSold]} ON COLUMNS,
NON EMPTY {[Account Date13h].[Date].&[2015-01-01T00:00:00]:
[Account Date13h].[Date].&[2015-05-05T00:00:00]
} ON ROWS
FROM [Sale_Period_report]
如果您没有这样的衡量标准,我会假设您的多维数据集中有一个产品层次结构,例如Products.Product
。
在这种情况下,您必须创建一个计算成员,它将为您提供计数。
WITH MEMBER [Measures].[ProductsSold] AS
COUNT(
EXISTS(Products.Product.CHILDREN,
{[Account Date13h].[Date].&[2015-01-01T00:00:00]:[Account Date13h].[Date].&[2015-05-05T00:00:00]},
"Sales"
)
然后它是一样的:
SELECT
{[Measures].[SaleAMT], [Measures].[ProductsSold]} ON COLUMNS,
NON EMPTY {[Account Date13h].[Date].&[2015-01-01T00:00:00]:
[Account Date13h].[Date].&[2015-05-05T00:00:00]
} ON ROWS
FROM [Sale_Period_report]
我假设您有一个名为Sales
的度量值组。
要获得更好的答案,您必须提供更多详细信息。
希望它有所帮助!
答案 1 :(得分:0)
反对AdvWrks
这种COUNT
,EXISTING
和交叉联接的组合似乎给了我一个可变的结果 - 这个结果实际上意味着我很不确定:
WITH
MEMBER [Measures].[Count] AS
Count
(
(EXISTING
[Product].[Product Categories].[Product]
*
[Measures].[Internet Sales Amount])
)
SELECT
{
[Measures].[Internet Sales Amount]
,[Measures].[Count]
} ON COLUMNS
,
[Date].[Calendar].[Date].&[20070701]
:
[Date].[Calendar].[Date].&[20070731] ON ROWS
FROM [Adventure Works];
所以适应你的立方体可能看起来像:
WITH
MEMBER [Measures].[ProductsSold] AS
Count
(
(EXISTING
Products.Product.members
*
[Measures].[SaleAMT])
)
SELECT
{
[Measures].[SaleAMT]
,[Measures].[ProductsSold]
} ON COLUMNS
,NON EMPTY
{
[Account Date13h].[Date].&[2015-01-01T00:00:00]
:
[Account Date13h].[Date].&[2015-05-05T00:00:00]
} ON ROWS
FROM [Sale_Period_report];
答案 2 :(得分:0)
WITH MEMBER [Measures].[ProductsSold] AS
COUNT(NonEmpty([AccSetting].[AccID].[AccID].ALLMEMBERS, [Measures].[SaleAMT]))
我使用此查询并且OLAP正确返回我想要的内容