DAX関数でMAX、MIN関数の使い方や、条件を追加した最大、最小の計算ができるMAXX、MINXの使い方を紹介します。基本のDAX関数ですが、条件を追加する計算などはExcel関数と異なるので、注意して使用する必要があります。
【本記事で得られること】
・MAX、MIN関数系の構文、使い方が分かる!
・MAXX、MINX関数で条件を追加した最大/最小値の計算ができる!
「売上が最大の日を求めたい」「売上が最小だった商品を表示させたい」といった条件を指定した最大/最小値が計算できるMAXX、MINX関数はよく使うので、ぜひご参考ください!
最大/最小値を求めるDAX関数
最大/最小を求めるDAX関数は下記の6種類です。それぞれの使い方と説明を表にまとめました。
No. | 関数 | 説明 |
1 | MAX | MAX(列) 指定した列の最大値を返す |
2 | MIN | MIN(列) 指定した列の最小値を返す |
3 | MAXX | MAXX(テーブル,式) 指定したテーブルと計算式の最大値を返す テーブルはFILTER関数と組み合わせできる 式はSUMなどの計算式を指定できる |
4 | MINX | MINX(テーブル,式) 指定したテーブルと計算式の最小値を返す テーブルはFILTER関数と組み合わせできる 式はSUMなどの計算式を指定できる |
5 | MAXA | MAXA(列) 指定した列の最大値を返す MAX関数と異なり数値型以外の列も使える |
6 | MINA | MINA(列) 指定した列の最小値を返す MIN関数と異なり数値型以外の列も使える |
単純なMAX、MIN関数はExcelと似た使い方ですが、テーブルや計算式を任意に指定できるMAXX、MINX関数は非常に便利でよく使います。MAXA関数やMINA関数は数値型以外の最大、最小値が計算できるDAX関数ですが、使用頻度は低いです。
【MAX、MIN関数 構文】
指定した列の最大/最小値を返す
=MAX(<column>)
=MIN(<column>)
求めたいデータ列を指定すればOKです。
【MAXX、MINX関数 構文】
指定したテーブルと計算式の最大/最小値を返す
=MAXX(<table>,<expression>)
=MINX(<table>,<expression>)
table:テーブルを指定、FILTER関数とセットで使うと効果的
expression:SUMなどの計算式を指定できる
◆できること、本日のゴール
今回は事例紹介として、購入データから
・MAX、MIN関数を用いた売上の最大/最小の計算
・MAXX、MINX関数を用いた売上の最大/最小の日付や商品
を抽出する方法を紹介します。

条件を追加した最大/最小値の計算はMAXX、MINX関数を用いる!
MAX、MIN関数で最大/最小値の計算
まずは、基本のMAX、MIN関数ですが、データ列を指定するだけでOKです。
今回使用するデータは、下記の商品分類や商品名、購入地域などが複数入った購入データです。事例説明として、PowerBIに取り込み、各月の売上の最大値/最小値を取得します。

このデータの日付は下記の日付テーブルとリレーションで連携している状態を想定します。
▶(参考記事)カレンダー関数を用いて日付テーブルを一瞬で作成、テンプレあり

この日付テーブルのDate(日付)列と、購入リストの日付列がリレーションで連携している状態です。
▶(参考記事)PowerBIのリレーション設定の方法


月別の売上の最大値、最小値を教えて!
それでは、DAX関数で売上の最大/最小値を計算するメジャーを作成していきます。新しいメジャーを作成し、売上列を指定すればOKです。
=MAX(列)
=MIN(列)

売上最大 = MAX('購入リスト'[売上])
売上最小 = MIN('購入リスト'[売上])
作成したメジャーを月別の表に追加すれば、売上の最大値、最小値を表示できます!

▶(参考記事)PowerBIでマトリックス表の作成方法
▶(参考記事)メジャー、新しい列の違い、データ加工方法
データ列を指定するだけなので、簡単ですね!
MAX関数、MIN関数にデータ列を指定すれば、最大/最小が計算できる!
MAXX、MINX関数で条件を追加した最大/最小値の計算
次に、条件を追加した最大/最小値の計算方法を紹介します。

次は、売上最大だった日付とその商品を教えて!
最大値、最小値の場合の条件を追加した計算をしたいので、MAXX、MINX関数を使います。①テーブルにFILTER関数で条件設定するのがポイントです。
=MAXX(①テーブル, ②計算式)
=MINX(①テーブル, ②計算式)
=FILTER(テーブル,フィルター)
売上最大の日 = MAXX(
FILTER('購入リスト','購入リスト'[売上]=MAX('購入リスト'[売上])),
'購入リスト'[日付])
簡単にDAX関数を説明すると、
売上最大の日 = MAXX(①テーブル,②計算式)
①テーブル= FILTER(元データ,売上列=MAX(売上列)
→FILTER関数で売上が最大のテーブルを指定
②計算式 = 日付列
→日付を求めたいので、日付列を指定
FILTER関数を用いて売上最大のみのテーブルを指定し、その時の日付を求める式になっています。
▶(参考記事)FILTER関数の使い方
売上が最大の日付を表示することができました!

②計算式の部分を商品名に変えれば、売上が最大である商品の抽出が可能です。
売上最大の商品 = MAXX(
FILTER('購入リスト','購入リスト'[売上]=MAX('購入リスト'[売上])),
'購入リスト'[商品名])

最小値VerのMINXで置き換えると、売上が最小値の日付や商品も抽出できます!

・MAXX関数、MINX関数を使えば、条件を追加した最大/最小の計算ができる!
・FILTER関数とセットで使うと効果的!
DAX関数で最大/最小値の計算まとめ
今回の最大/最小値を計算するDAX関数についてのポイントは下記です。
・最大、最小はMAX、MIN関数にデータ列を指定する
・条件付きの最大/最小の計算はMAXX、MINX関数を使う!
・MAXX、MINX関数はFILTER関数とセットで使うと効果的!
特にMAXX関数、MINX関数を使った、条件付きの計算は非常によく使うDAX関数なので、ぜひご参考ください!
下記でPowerBIの便利機能とDAX関数をまとめています!
▶PowerBIの便利機能、powerQueryまとめ
最後まで読んでいただき、ありがとうございました!
良かったら↓クリック応援をよろしくお願いします!!
コメント