1

SQL Server Analysis Service で計算されたメジャーに取り組んでいます。その場合は次のとおりです。

4 桁の数値を保持する文字列値があります。値が 7 で始まる場合は、値に別の値を追加します。そうでない場合は、値を表示するだけです。

最初に when ステートメントを使用して、then と else の部分を使用しようとしました。

Case

    when (Left([Kostensoort].[Kosten code], 1) is "7")
        Then [Measures].[Inkoop bedrag] + [Measures].[Bank bedrag]
        Else [Measures].[Inkoop bedrag]
End

これはうまくいかないようです。

次に、このような if ステートメントに変更しました。

if  (Left([Kostensoort].[Kosten code], 1) is "7")
    then [Measures].[Inkoop bedrag] + [Measures].[Bank bedrag]
    else [Measures].[Inkoop bedrag]
end if 

then キーワードにエラーがあると言い続けているため、if ステートメントで何か間違ったことをしたと思い込んでしまいます

また、 is を「=」に置き換えて、それが重要かどうかを確認しましたが、問題はありませんでした

インターネット上で、mdx 式でできることとできないことを言っている複数の情報源を見つけました。

http://msdn.microsoft.com/en-us/library/ms145517.aspx http://www.iccube.com/support/documentation/mdx/functions.html http://publib.boulder.ibm.com/ infocenter/comphelp/v101v121/index.jsp?topic=/com.ibm.xlf121.aix.doc/proguide/ifclause.html http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp? topic=%2Fcom.ibm.dwe.cubemdx.doc%2Fmdx_expressions.html

しかし、誰も私の問題を解決していないようです。

明らかに何かが欠けています.MDXとSSASの経験があり、いくつかの指針や方向性を教えてくれる人はいますか?

4

2 に答える 2

2

MDX では、IIF関数を使用する必要があります。私が知っている IF / THEN / ELSE はありません。

于 2013-06-21T09:51:13.000 に答える