新しい列(計算列)の作成 - aktnk/til GitHub Wiki

リレーションシップのあるテーブルの列を使う

多対1の多側のテーブルで新しい列を定義する場合

実現したいこと

例:販売データテーブルの[国]列 <--> 税率マスターテーブルの[国]列 に多対1のリレーションシップがあり、販売データテーブルの[売上]列 × 税率マスターテーブルの[消費税率]列 から 消費税額を計算し、新しい列として追加したい。

解決方法:RELATED()を使用する。

  • 新しい列(計算列)を作成する場合、同じテーブル内の列しか表示されない
  • そのテーブルとリレーションシップのあるテーブルの列を計算に使用する場合、RELATED('テーブル名'[列])を用いることで使用可能となる
  • 消費税額 = '販売データ'[売上] * RELATED( '税率マスター'[消費税率] )
    
  • 参考:https://learn.microsoft.com/ja-jp/dax/related-function-dax

多対1の1側のテーブルで新しい列を定義する場合

実現したいこと

例:販売データテーブルの[国]列 <--> 国マスターテーブルの[国]列 に多対1のリレーションシップがあり、 販売データテーブルの各国の売上を合計し、国マスターテーブルに新しい列[国別売上]に 結果を記載したい。

解決方法(1):RELATEDTABLE(テーブル)を使用する。

解決方法(2):CALCULATE(SUM()を使用する。