DAX関数で条件を追加した最大/最小(MAXX、MINX関数)

MAXX MINX DAX関数DAX関数
スポンサーリンク

DAX関数でMAX、MIN関数の使い方や、条件を追加した最大、最小の計算ができるMAXX、MINXの使い方を紹介します。基本のDAX関数ですが、条件を追加する計算などはExcel関数と異なるので、注意して使用する必要があります。

【本記事で得られること】
・MAX、MIN関数系の構文、使い方が分かる!
・MAXX、MINX関数で条件を追加した最大/最小値の計算ができる!

「売上が最大の日を求めたい」「売上が最小だった商品を表示させたい」といった条件を指定した最大/最小値が計算できるMAXX、MINX関数はよく使うので、ぜひご参考ください!

最大/最小値を求めるDAX関数

最大/最小を求めるDAX関数は下記の6種類です。それぞれの使い方と説明を表にまとめました。

No.関数説明
1MAXMAX(列)
指定した列の最大値を返す
2MINMIN(列)
指定した列の最小値を返す
3MAXXMAXX(テーブル,式)
指定したテーブルと計算式の最大値を返す
テーブルはFILTER関数と組み合わせできる
式はSUMなどの計算式を指定できる
4MINXMINX(テーブル,式)
指定したテーブルと計算式の最小値を返す
テーブルはFILTER関数と組み合わせできる
式はSUMなどの計算式を指定できる
5MAXAMAXA(列)
指定した列の最大値を返す
MAX関数と異なり数値型以外の列も使える
6MINAMINA(列)
指定した列の最小値を返す
MIN関数と異なり数値型以外の列も使える

単純なMAX、MIN関数はExcelと似た使い方ですが、テーブルや計算式を任意に指定できるMAXX、MINX関数は非常に便利でよく使います。MAXA関数やMINA関数は数値型以外の最大、最小値が計算できるDAX関数ですが、使用頻度は低いです。

【MAX、MIN関数 構文】
指定した列の最大/最小値を返す
MAX(<column>)
MIN(<column>)
求めたいデータ列を指定すればOKです。

▶(参照)Microsoft DAX関数 MAX
▶(参照)Microsoft DAX関数 MIN

【MAXX、MINX関数 構文】
指定したテーブルと計算式の最大/最小値を返す
MAXX(<table>,<expression>)
MINX(<table>,<expression>)
table:テーブルを指定、FILTER関数とセットで使うと効果的
expression:SUMなどの計算式を指定できる

▶(参照)Microsoft DAX関数 MAXX
▶(参照)Microsoft DAX関数 MINX

◆できること、本日のゴール
今回は事例紹介として、購入データから
・MAX、MIN関数を用いた売上の最大/最小の計算
・MAXX、MINX関数を用いた売上の最大/最小の日付や商品
を抽出する方法を紹介します。

MAXX MINX DAX関数 最大 最小

条件を追加した最大/最小値の計算はMAXX、MINX関数を用いる!

スポンサーリンク

MAX、MIN関数で最大/最小値の計算

まずは、基本のMAX、MIN関数ですが、データ列を指定するだけでOKです。

今回使用するデータは、下記の商品分類や商品名、購入地域などが複数入った購入データです。事例説明として、PowerBIに取り込み、各月の売上の最大値/最小値を取得します。

PowerBI 取り込みデータ

▶(参考記事)PowerBIへのデータの取り込み

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

日付テーブル カレンダー関数 PowerBI DAX

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

PowerBI リレーション データ連携
上司
上司

月別の売上の最大値、最小値を教えて!

それでは、DAX関数で売上の最大/最小値を計算するメジャーを作成していきます。新しいメジャーを作成し、売上列を指定すればOKです。

=MAX(列)
=MIN(列)

新しいメジャー MAX関数
売上最大 = 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関数

②計算式の部分を商品名に変えれば、売上が最大である商品の抽出が可能です。

売上最大の商品 = MAXX(
    FILTER('購入リスト','購入リスト'[売上]=MAX('購入リスト'[売上])),
        '購入リスト'[商品名])
売上最大の商品 MAXX関数 FILTER関数

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

売上最大の商品 MINX関数 FILTER関数 最大 最小 DAX関数

MAXX関数、MINX関数を使えば、条件を追加した最大/最小の計算ができる!
FILTER関数とセットで使うと効果的!

スポンサーリンク

DAX関数で最大/最小値の計算まとめ

今回の最大/最小値を計算するDAX関数についてのポイントは下記です。

・最大、最小はMAX、MIN関数にデータ列を指定する
・条件付きの最大/最小の計算はMAXX、MINX関数を使う!
・MAXX、MINX関数はFILTER関数とセットで使うと効果的!

特にMAXX関数、MINX関数を使った、条件付きの計算は非常によく使うDAX関数なので、ぜひご参考ください!

下記でPowerBIの便利機能とDAX関数をまとめています!
▶PowerBIの便利機能、powerQueryまとめ

▶よく使うDAX関数まとめ

最後まで読んでいただき、ありがとうございました!
良かったら↓クリック応援をよろしくお願いします!!

にほんブログ村 サラリーマン日記ブログ IT系サラリーマンへ
にほんブログ村

スポンサーリンク

コメント

タイトルとURLをコピーしました