0

在庫データを含むキューブをモデリングしています。簡単にするために、1 つの日付ディメンションを維持しようとしています。これらのメジャーの一部には、在庫レベルが含まれています。

エンド ユーザーは Excel を使用して、分析サービスからのデータを表示しています。私がやりたいことは、このディメンションが実際の株式取引が終了する値を表示しないようにすることです。

将来の情報を必要とする他のメジャーがキューブ内にあるため、将来のすべての日付エントリを削除することはできません。

簡単な測定例:

CREATE [Measures].[Quantity On Hand];
SCOPE ([Measures].[Quantity On Hand]); 
    this = Aggregate(null:[Transaction Date].[Year - Quarter - Month].CurrentMember,  [Measures].[Quantity Purchased])
            - Aggregate(null:[Transaction Date].[Year - Quarter - Month].CurrentMember,  [Measures].[Quantity Sold]) 
    FORMAT_STRING(this) = "#,#.00;-#,#.00; ";
END SCOPE;

日付ディメンションには将来の日付が含まれます。

[Transaction Date]このメジャーの最後のトランザクション (ファクト テーブルの最も高いトランザクション日) の後、ディメンションに情報の表示を停止させることはできますか?

4

1 に答える 1

1

CLOSINGPERIOD(Dim,Measure)この関数を使用できるはずです。メジャーが使用される時間ディメンションの最後のメンバーが表示されます。あなたの場合、購入数量または販売数量の最後のエントリ。これをチェックとして使用して、将来の日付を計算しないようにします。

また、将来の日付をロードしない場合は、将来の日付をロードしないためのチェックとして「今日」を使用することもできます。-StrToMember("[Time].[Day].&[" + Format(Now(), "yyyyMMdd") + "]")yyyyMMdd、日レベルで使用する形式です。

于 2012-04-02T06:51:27.577 に答える