SSAS と cubing は初めてで、linkedmember 関数で問題が発生しています。ファクト テーブルに 3 つの日付を持つキューブを作成しました (基本的にスナップショットの粒度を累積します)。各行はクライアントを表し、開始日、終了日、および最初の訪問日があります。各日付には、ロール プレイング メンバーを介して日付テーブルに接続された対応するディメンションがあります。ユーザーの主要な日付ディメンションとして、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])
)
年レベルでは正しいのですが、月レベルでは誤差があります。1 月の場合は年間の合計が表示され、四半期から始まる各月は四半期の合計が表示されます。それ以外の月 (2 月や 3 月など) については正しいです。私の理解では、これは currentmember が 1 回だけ評価するか、すべてを評価することが原因であると理解しています。これに対する回避策はありますか?