我是 SSAS 和 cubing 的新手,但在使用 linkedmember 函数时遇到了麻烦。我在事实表中创建了一个包含三个日期的多维数据集(基本上是累积快照粒度)。每行代表一个客户,然后有一个开始日期、结束日期和首次访问日期。每个日期都有一个对应的维度,通过角色扮演成员连接到日期表。我希望将连接到 startdate 的日期维度用作用户的主要日期维度。我能够使用以下函数为活动客户创建计算成员。
AGGREGATE(
{NULL:[Dates].[Year - Quarter - Month - Date].currentmember}
* {LINKMEMBER([Dates].[Year - Quarter - Month - Date].currentmember,[EndDate].[Year - Quarter - Month - Date]):NULL}
, [Measures].[ClientCount])
我现在正在为在此期间首次访问的客户创建计算度量。我试过这个等式:
(Measures.clientcount,ROOT(dates),
linkmember(dates.[Year - Quarter - Month - Date].currentmember,
[FirstVisit].[Year - Quarter - Month - Date])
)
它在年份级别是正确的,但是在月份级别存在错误。对于一月份,它显示一年的总和,然后从一个季度开始的每个月显示季度的总和。其他月份(例如 2 月和 3 月)是正确的。我的理解是,这是由于当前成员只评估一次或评估全部造成的。有解决办法吗?