Mdx 如何计算一段时间内的销售天数/无销售天数
如何计算一段时间内的销售天数/无销售天数 我在下面定义了一个MDX查询:Mdx 如何计算一段时间内的销售天数/无销售天数,mdx,Mdx,如何计算一段时间内的销售天数/无销售天数 我在下面定义了一个MDX查询: SELECT { [Measures].[Sales], [Measures].[Amount] } ON COLUMNS NONEMPTY({ [Dim Customer].[Customer ID].[Customer ID].ALLMEMBERS * [Time].[Month].CHILDREN }) DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_U
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:
在cube中,我们有每天的详细信息,因此可以显示每天的销售额。
在没有销售的日子里,这个数字是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}
是多维数据集中所有天数与行的当前月份的叉积。由于AnalysisServices的Autoexists特性,它只返回非空元组,即。E一个月中每天一个元组,如e。G时间维度表中没有记录,日期列中包含2014年9月10日,月份列中包含2013年7月。即。维度内的叉积在Analysis Services中不是真正的叉积
然后,Filter
方法将这些限制为当前客户id没有销售的客户,最后,Count
只对这些客户进行计数