Excel 2013でPowerPivotモデルのPowerQueryを使用してカレンダーテーブルを作成しているときに、その Date.QuarterOfYear 関数を使用して四半期の数値を取得します。
SSAS Tabularで同じものを作成するには、いくつかの回避策が必要です。 DATEから四半期の数を取得するための同等のDAX関数はありません。不思議なことに、DAXにはYEAR()とMONTH()がありますが、QUARTER()はありません。
ネストされたIF
またはSWITCH
ステートメントは本当にDAXで四半期番号を取得する唯一の方法ですか?
このようなシンプルで便利な機能がない理由は何ですか?私はこの決定の最高の知恵を見落としていますか?
this 素晴らしい本で答えを見つけました!
四半期番号を取得するには、=ROUNDUP(MONTH([Date])/3, 0)
を使用する必要があります。
DAXにQUARTER()がありませんか?
はい、その通りです。
本当に?
はい、それはクレイジーで意味がありません。幸い、回避策は月を3で割るだけです。
VAR quarterNumber = CEILING(MONTH([Date])/3,1)
DAXには数値を丸める方法が複数あるため、これらも機能します。
VAR quarterNumber = ISO.CEILING(MONTH([Date])/3,1)
VAR quarterNumber = ROUNDUP(MONTH([Date])/3,0)
文書化されていませんが、これは機能します:
INT(FORMAT([日付]、 "q"))
彼らは、会計年度を含め、四半期が事前定義された日付ディメンションを作成すると想定していると思います。私はオーストラリアに住んでおり、会計年度は6月に終了します。私は常に、四半期をテーブルに追加された列として事前に定義してきました。 Power BI/Power Queryを使用している場合は、Mコードレベル(インポート段階)でクエリを追加できます。