我在SSAS多维立方体上构建了一个计算成员,以便计算成员事务之间的平均时间天数。我使用的代码非常简单:
[Measures].[Distinct Days]/[Measures].LoyalTransactions
“唯一天数”度量来自:
DISTINCTCOUNT(DistinctDays)
其中DistinctDays是具有以下表达式的动态集:
{[Measures].[Loyalty Fact Count]}
*
DISTINCT({ [TimeDim Transactions].[DateKey].[DateKey]})
问题在于它的性能非常差,可能是由于天数的不同。结果也有点不稳定,例如,当我从月份属性过滤交易日期时以及使用日期属性过滤时(date> = FirstDayOfMonth和date< = LastDayOfMonth),结果不一样
有没有办法以不同的方式计算这个衡量标准?
答案 0 :(得分:0)
我无法测试,但试图改编自这篇Mosha文章(http://sqlblog.com/blogs/mosha/archive/2008/06/14/counting-distinct-values-in-mdx.aspx)。
它执行吗?
Sum([DistinctDays] AS x,
1/Filter([DistinctDays],
x.Current is x.CurrentMember
).Count)