1

以前は(低速の)ストアドプロシージャで処理されていたいくつかの分析レポートを処理するために、SQL2012SSASの新しい表形式モデルを自分で学ぼうとしています。

私はそれのほとんどでまともな進歩を遂げました、物事がどのように機能するか、そして私が必要とする計算を追加する方法を理解するだけですが、私は次のことに頭を悩ませてきました:

ファイル情報を含むテーブルがあります
-IDFileNameCurrentStatus UploadedBy

次に、ファイルが通過したステータスを持つテーブル(ファイルテーブルとの多くの関係):
FileID StatusID TimeStamp

私がやろうとしているのは、ファイルが特定のステータスにあったときにタイムスタンプ情報を返す計算列をファイルテーブルに追加することです。つまり、StatusID=100がアップロードされます。FileStatusテーブルのタイムスタンプ情報が関連付けられているUploadedDateという計算列をFileテーブルに追加したいと思います。

これはDAXで実行できるはずですが、頭を包み込むことができないようです。そこに何かアイデアはありますか?

事前に、ありがとう、ブレント

4

2 に答える 2

0

私は、各ファイルが各ステータスになることができるのは 1 回だけだと想定しています (StatusID 100 を持つ FileID ごとに 1 つの行しかありません)。ルックアップ値式を使用できると思います。UploadedDate 計算列の数式は次のようになります。

=LOOKUPVALUE(FileStatus[Timestamp], File[FileID], FileStatus[FileID], FileStatus[StatusID], 100)

LOOKUPVALUEのMSDN の説明は次のとおりです。返される値を含む列、検索する列、および検索する値を指定します。ルックアップ テーブルに複数の条件を追加できます。良い例を含むブログ投稿を次に示します。

于 2013-07-08T01:41:11.707 に答える
0

これは、あなたがやりたいことのために機能するはずの式です...

=MAXX(
    CALCULATETABLE(
         'FileStatus'
        ,'FileStatus'[StatusID] = 100
    )
    ,'FileStatus'[TimeStamp]
)
于 2013-01-29T02:55:33.917 に答える