如何计算一段时间内销售/不销售的日期。
我在下面定义了一个MDX查询:
SELECT { [Measures].[Sales], [Measures].[Amount] } ON COLUMNS
NONEMPTY({ [Dim Customer].[Customer ID].[Customer ID].ALLMEMBERS *
[Time].[Month].CHILDREN
}) DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM [MyCube]
结果显示每个客户和月份客户在相应月份中的销售额和金额。
CustomID / Month / Sales / Amount:
1 / 2013 01 / 123 / 2234:
1 / 2013 02 / 2 / 95:
1 / 2013 03 / 212 / 11111:
2 / 2013 01 / 122 / 2121:
2 / 2013 02 / 231 / 3333:
现在我需要一个计数器/列,显示没有销售的月份的天数值。
CustomID / Month / Sales / Amount / DaysNoSale:
1 / 2013 01 / 123 / 2234 / 3:
1 / 2013 02 / 2 / 95 / 26:
1 / 2013 03 / 212 / 11111 / 0:
2 / 2013 01 / 122 / 2121 / 0:
2 / 2013 02 / 231 / 3333 / 0:
在立方体中,我们每天都有详细信息,因此可以显示每天的销售数量。 在没有销售的日子里,这个数字是0.
有谁知道如何解决这个问题 谢谢前进
答案 0 :(得分:0)
假设您的Day属性名为[Time].[Day]
,您可以使用:
WITH Member Measures.[Days No Sale] AS
Filter([Time].[Day].[Day].Members * { [Time].[Month].CurrentMember },
([Measures].[Sales], [Dim Customer].[Customer ID].CurrentMember) = 0
).Count
SELECT { [Measures].[Sales], [Measures].[Amount], Measures.[Days No Sale] }
ON COLUMNS,
NONEMPTY({ [Dim Customer].[Customer ID].[Customer ID].ALLMEMBERS *
[Time].[Month].CHILDREN
})
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME
ON ROWS
FROM [MyCube]
[Time].[Day].[Day].Members * { [Time].[Month].CurrentMember }
是多维数据集中所有日期与行的当前月份的叉积。由于Analysis Services自动存在功能,这只返回非空元组,即。即这个月每天都有一个元组,如e。 G。包含2014年9月10日日期列和2013年7月月份列的时间维度表中没有记录。 I. e。维度中的跨产品不是Analysis Services中的真正交叉产品。
然后Filter
方法将这些限制为当前客户ID没有销售的那些,最后Count
只计算这些。