メインコンテンツにスキップ
Workday User Guide
最終更新: 2023-06-23
MAX

MAX

説明

MAX
は、行をグループに分割し、フィールドで行を並べ替え、グループ内の最大値 (最高値) を返すウィンドウ集計関数です。
次の基準
PARTITION BY
句は、入力行のセットをグループに分割するために使用するフィールドを決定します。次の基準
ORDER BY
句は、パーティション内の行の順序を決定します。
Workday は、分割フィールドに従って入力行をグループに分割し、順序付けフィールドに従って行を並べ替え、各グループについて集計式 (この関数の最大値) を計算します。

構文

MAX
(
input_field
)
OVER
(
PARTITION BY
partitioning_field
[,
partitioning_field
]
ORDER BY
ordering_field
[ASC | DESC] [,
ordering_field
[ASC | DESC]]
RANGE
BETWEEN
value
PRECEDING
AND
CURRENT ROW
|
ROWS
win_boundary
|
BETWEEN
win_boundary
AND
win_boundary
)
where
win_boundary
can be:
UNBOUNDED PRECEDING
value
PRECEDING
UNBOUNDED FOLLOWING
value
FOLLOWING
CURRENT ROW

戻り値

戻り値は、入力値と同じフィールド型になります。

入力パラメータ

input_field
必須のコンテンツ。集計関数を実行するフィールド。任意の数値フィールドまたは通貨フィールドを使用できます。
OVER()
必須のコンテンツ。
OVER
"" 内で使用する必要があります
MAX
PARTITION BY
department_field
必須のコンテンツ。使用先
PARTITION BY
句: 入力行のグループを分割するために使用する 1 つ以上のフィールドを指定します。"通貨" を除く任意のフィールド タイプを指定できます。例: "月" フィールドを分割フィールドとして指定すると、"月" の値が同じすべてのレコードが 1 つの分割にグループ化されます。
ORDER BY
ordering_field
必須のコンテンツ。使用先
ORDER BY
句。各分割内の指定されたフィールドの値を使用して、分割内の入力行を並べ替える方法を指定します。"通貨" を除く任意のフィールド タイプを指定できます。ただし、"" フィールドを使用する場合は、"整数" や "数値" などの数値フィールド タイプを使用する必要があります。
RANGE
句。
次の操作ができます。
DESC
または
ASC
各順序フィールドを、降順 (値が高い順、NULL が最後になる) または昇順 (値が高い順、NULL が最初) でソートするキーワード。順序フィールドのソート順序を指定しない場合、行は自動的に昇順でソートされます。
行 |範囲
必須のコンテンツ。次の基準
ROWS
および
RANGE
句は、ウィンドウ フレームを指定して、分割内の特定の行数 (現在の行を基準とする) を定義します。ウィンドウの枠線は、ウィンドウの境界と呼ばれる、分割内の開始点と終了点を指定して定義します。ウィンドウ フレームは、各分割で、集計式を計算する入力行のセットです (この関数の最大値)。ウィンドウ フレームには、分割の 1 行、複数行、またはすべての行を含めることができます。
両方
ROWS
および
RANGE
現在の行を基準とする行の範囲を指定しますが、
RANGE
値に対する論理演算子 (論理関連付け)
ROWS
は、データセットの行に対して物理的に演算されます (物理的な関連付け)。
RANGE
は、現在の値を基準にして、指定された範囲内に値を持つ行を含めるようにウィンドウ フレームを制限します。
ROWS
は、現在の行の物理的に次の行を含む行をウィンドウ フレームに制限します。
用途
RANGE
過去 3 か月または年初から現在までなど、絶対ウィンドウの境界を定義します。使用する場合
RANGE
()
ORDER BY
句のフィールド型には、整数、数値などの数値タイプを使用する必要があります。
例: その年の月数 (値は 1 ~ 12) を表す MonthNum という整数フィールドがあるとします。過去 3 か月間のすべての値を指定する場合、"MonthNum" で並べ替え、以下を使用します。
RANGE BETWEEN 2 PRECEDING AND CURRENT ROW
。この RANGE 句には、当月と前 2 か月が含まれ、合計が 3 か月になります。
を使用してウィンドウ関数を含むデータセットをパブリッシュする場合、
RANGE
- ウィンドウの行数は 1000 以下にしてください。特定のウィンドウが 1000 行を超えると、パブリッシュ ジョブが失敗します。
Win_boundary
必須のコンテンツ。ウィンドウの境界は、ウィンドウ フレームの開始点と終了点を定義します。ウィンドウの境界は現在の行を基準としています。
A
PRECEDING
句は、現在の行よりも低いウィンドウ境界を定義します (現在の行の前に含める行の数)。次の基準
FOLLOWING
句は、現在の行 (現在の行の後に含める行の数) より大きいウィンドウ境界を定義します。
ウィンドウの境界を 1 つだけ指定した場合、現在の行がウィンドウ フレームのもう一方の境界として使用されます (式の構文に応じて上限または下限のいずれかになります)。次の基準
UNBOUNDED
キーワードには、指定した方向のすべての行が含まれます。ウィンドウ フレームの開始と終了の両方を指定する必要がある場合は、以下を使用します。
BETWEEN
および
AND
キーワード。
特定の行数を指定する場合、
値は
100 以下である必要があります。
例:
ROWS 2 PRECEDING
は、ウィンドウのサイズが 3 行で、直近の 2 行から現在の行までの 2 行を開始し、現在の行を含むことを意味します。
例:
ROWS UNBOUNDED FOLLOWING
は、ウィンドウが現在の行から開始し、現在の行と現在の行より後にあるすべての行を含むことを意味します。

例: これらの行とフィールドを含むデータセットがあります。
監督組織
四半期
名称
報酬変更
マーケティング
2019-Q1
ゴホ
2000.00
マーケティング
2019-Q1
フリーマン
1000.00
マーケティング
2019-Q1
セキュリティ
2500.00
相談
2019-Q1
ゴメズ語
5000.00
相談
2019-Q1
5 メンバー
3000.00
相談
2019-Q1
Fitz
3500.00
相談
2019-Q2
ゴメズ語
0
相談
2019-Q2
5 メンバー
2000.00
相談
2019-Q2
Fitz
1500.00
四半期ごとに各監督組織について、報酬の最大変更 (
"報酬変更"
フィールド) を計算できます。
分割内のすべての行に同じ値が返されるようにするには、各分割で最も大きな報酬変更が最初に配置されるように、入力フィールドと同じフィールドで行を降順 (
DESC
) に並べてください。
"報酬の最大変更"
フィールドで次の式を使用します。
MAX([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
以下の結果が得られます。
監督組織
四半期
名称
報酬変更
報酬変更の最大値
相談
2019-Q1
ゴメズ語
5000.00
5000.00
相談
2019-Q1
Fitz
3500.00
5000.00
相談
2019-Q1
5 メンバー
3000.00
5000.00
相談
2019-Q2
5 メンバー
2000.00
2000.00
相談
2019-Q2
Fitz
1500.00
2000.00
相談
2019-Q2
ゴメズ語
0
2000.00
マーケティング
2019-Q1
セキュリティ
2500.00
2500.00
マーケティング
2019-Q1
ゴホ
2000.00
2500.00
マーケティング
2019-Q1
フリーマン
1000.00
2500.00