2017-02-05 14 views
0

SSRSクエリデザイナでSSAS表形式モデルの質問が2つあります。私は、この他の列=「最後の請求日」場合は、基本的に言って算出されたメンバーの列を作成し、値として「最終請求書の日付」を入れ、それ以外の場合は、「FiscalMonthLastDay」、に別の列の値を置く:MDXヘルプSSRSクエリデザイナMDX計算メンバーとMDX演算子フィルタ式

IIF([Invoice Date].[Relative Date].CurrentMember.MEMBER_CAPTION ="Last Invoice Date", "Last Invoice Date", [Invoice Date].[FiscalMonthLastDay].CurrentMember.MEMBER_CAPTION)

新しいフィールドをドラッグすると機能しますが、結果に余分な行が作成されます。私はスクリーンショットの後に&の前に追加しました(いくつかの機密データを消去しました)。余計な行が表示されないようにする方法を理解できませんか?

前: enter image description here

後:

enter image description here

私の第二の質問は、私は、この新しい計算されるメンバーは、別の列に一致する場合にのみに設定私のデータをフィルタリングしたいと思います。だから私は、フィルタセクションのMDX演算子を行うと、このような何かが働くだろうと思ったが、私は(上記のようにその同じ式)にそれを得ることができないのです。

enter image description here

誰がどこまで知っている場合このMDX演算子がどのように使用されているか、いくつかの良い例があります。

ありがとうございます!

+0

私はおそらく、列の作成をスキップして、OR文を実行することができる場合はその列でフィルタリングしようとしていることに気付きました。ような何か: [請求日] [相対日付]&[最終請求書の日付] OR [請求日] [FiscalMonthLastDay] [FiscalMonthLastDay] .currentmember.MEMBER_CAPTION = [請求日] [日]。。。。。。 [Date] .currentmember.MEMBER_CAPTION 私は次のエラーが発生しています: Axis0関数は、引数のタプルセット式が必要です。文字列式または数値式が使用されました。 フィルタは、私が式の第1部分を行うだけで機能します。 –

答えて

0

私はこのことを理解していない: - ので、どのようにMEMBER_CAPTION「最後の請求日」に等しくすることができる日は、

[Invoice Date].[Relative Date].CurrentMember.MEMBER_CAPTION ="Last Invoice Date" 

があなたのscreenprints [Relative Date]を見ているのですか?

+0

私はそれを自分で理解するのか分からない!このフィールドはダイナミックなフィールドで、SSASテーブルモデルロジックが最後に使用可能な請求書日付(新しい請求書が毎日読み込まれます)を置き換えます。「Last Invoice Date」というフレーズが付いています。その後、レポートを「最終請求書日付」にフィルタリングし、レポートには常に最新の請求書のデータが表示されます。私は非常に小さなMDX expierenceでロジックを結合しました。それは私が持っている問題のためにほとんど動作しますが、かなりです。私はどんな選択肢にも開いています。 –

+0

この「最終請求書日付」はスクリーンプリントに含まれていないため、これらのスクリーン印刷では、CurrentMemberは決して「最終請求書日付」ではありません。関数currentmemberの定義は次のとおりです。https://msdn.microsoft.com/en-us/library/ms144948.aspx – whytheq

+0

はい申し訳ありませんが、私は詳細設定のスクリーンショットで詳細を説明していたはずです。 「最終請求書日付」の値。私のIIFステートメントはそれらの値のために働く、私はちょうど対策でNULLを持つ行を取り除こうとしていた。次に、計算されたメンバーが相対日付フィールドと等しい行のみを含めることによって、何らかの形で結果セットをフィルタリングします。 –