新しい列(計算列)の作成 - aktnk/til GitHub Wiki
リレーションシップのあるテーブルの列を使う
多対1の多側のテーブルで新しい列を定義する場合
実現したいこと
例:販売データテーブルの[国]列 <--> 税率マスターテーブルの[国]列 に多対1のリレーションシップがあり、販売データテーブルの[売上]列 × 税率マスターテーブルの[消費税率]列 から 消費税額を計算し、新しい列として追加したい。
解決方法:RELATED(列
)を使用する。
- 新しい列(計算列)を作成する場合、同じテーブル内の列しか表示されない
- そのテーブルとリレーションシップのあるテーブルの列を計算に使用する場合、RELATED('テーブル名'[列])を用いることで使用可能となる
- 例
消費税額 = '販売データ'[売上] * RELATED( '税率マスター'[消費税率] )
- 参考:https://learn.microsoft.com/ja-jp/dax/related-function-dax
多対1の1側のテーブルで新しい列を定義する場合
実現したいこと
例:販売データテーブルの[国]列 <--> 国マスターテーブルの[国]列 に多対1のリレーションシップがあり、 販売データテーブルの各国の売上を合計し、国マスターテーブルに新しい列[国別売上]に 結果を記載したい。
解決方法(1):RELATEDTABLE(テーブル
)を使用する。
- 例
国別売上 = SUMX( RELATEDTABLE('販売データ'), '販売データ'[売上] )
- 参考:https://learn.microsoft.com/ja-jp/dax/relatedtable-function-dax
解決方法(2):CALCULATE(SUM(列
)を使用する。
- 例
国別売上 = CALCULATE( SUM( '販売データ'[売上] ))
- 参考:https://learn.microsoft.com/ja-jp/dax/calculate-function-dax https://learn.microsoft.com/ja-jp/dax/sum-function-dax