PowerQuery 対象行の上側にあるデータの最大値・最小値

ある行においてその行の前(上側)にあるデータ内で最大値や最小値を求める方法を紹介します。

時系列データにおいてあるタイミングでの過去最高値や過去最小値を算出したいときなどに利用できると思います。

ドノ

下記の3つ組み合わせることで計算します。
・インデックス列
・カスタム列
・List関数

目次

対象セルの上側データ内の最大値・最小値

あるセルの上側(前側)にあるデータにおける最大値・最小値を求めるには下記の手順で処理を行います。

手順
  1. データを任意の順番で並び替え
  2. インデックス列を追加
  3. カスタム列で「List.Max(List.FirstN(テーブル名[列名],[インデックス列名]))」の計算式の列を追加

上側データの最大値の計算手順

計算手順の例として下記の時系列に沿った売上データでその時点での過去最高値を算出します。

STEP
データの並び替え

まず、データを時系列の順番で並び替えます。

STEP
インデックス列の追加

次に1始まりのインデックス列を追加します。

列の追加タブのインデックス列の「1から」をクリックします。

最大値の計算範囲に対象行(自分の行)を含める場合はインデックスは1始まり、含めない場合は0始まりとする

STEP
過去の最大値(上側データ内の最大値)を計算する

カスタム列を追加して過去の売上最高値を計算する式を入力します。
計算式は以下でテーブル名・列名・インデックス列名にはそれぞれの状況の名前を設定してください。

  1. 列の追加タブでカスタム列をクリックする。
  2. カスタム列の計算式に下記の式を入力してOKをクリックする。
List.Max(List.FirstN(追加されたインデックス[売上],[インデックス]))
ドノ

過去最小値を求めたい場合は ”List.Max” を ”List.Min” に書き換えてください

STEP
過去最大値(上側データ内の最大値)の計算完了

下図のように過去最高値を計算されます。

上側データの最小値の計算式

あるセルの上側データの最小値を算出したい場合の計算式はこちらです。上述の計算手順内のカスタム列に入力する式をこれに変更して利用ください。

テーブル名、列名、インデックス列名は状況に合わせて変更する。

List.Min(List.FirstN(テーブル名[列名],[インデックス列名]))

Sponsored link

Power Queryのおすすめ書籍

パワークエリの学習本についてはコチラの記事でまとめてますので参考にしてみてください。

初心者向けおすすめ学習本

初中級者向けおすすめ学習本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

仕事、お金、旅行のことなどメモしてます。
仕事ではTableauを勉強中!
初心者にもわかりやすいように学んだことを発信していきます。

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次