Power BI -「IF」をDAX関数で書く場合とM言語で書く場合
Power BI desktopで「IF式」を書きたくなった場合、
それがQuery Editor上なのか、
Query Editorを閉じた後のデータ画面上なのかで、
書き方が変わります。
という違いが前提としてあるので、当然なのですが、
「IFって括弧を付けるんだったっけ?」 とか
「IFの後に、Then とか else てどっちが書くんだったっけ」 と
たまに戸惑ってしまうことがあります。
なので一応、考えてみたのですが、
こう覚えておけばよいのではないかと。
「何を当たり前のことを」と思うかもしれないですが、、
寝ぼけている時とか、ExcelとPBIといじっていると、
本当に「かっこってつけるんだったっけ・・・???」
となってしまうことが多いので、まとめました。。
リファレンス
一応、M言語のリファレンスはこちらで、
DAX関数のリファレンスはこちらです。
記載例
上記リファレンスに載っている通りですが、
並べて書いておきます
M言語の場合
if 2 > 1 then 2 else 1
if 1 = 1 then "yes" else "no"
DAX関数の場合
=IF([Calls]<200,"low",IF([Calls]<300,"medium","high"))
留意点
上記の記載例をよく見ると気づく(?)と思うのですが、
M言語の場合、「if」を大文字で「IF」と書くとエラーになります!!
でもDAX関数の場合は、「if」(小文字)でも「IF」(大文字)でも有効です。
以上になります。