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

COUNT

説明

COUNT
は、行をグループに分割し、フィールドで行を並べ替え、グループ内の有効な行の合計数 (NOT NULL) を返すウィンドウ集計関数です。使用できます
COUNT
と他の関数を組み合わせて、累積集計を計算します。
次の基準
PARTITION BY
句は、入力行のセットをグループに分割するために使用するフィールドを決定します。次の基準
ORDER BY
句は、パーティション内の行の順序を決定します。
Workday は、分割フィールドに基づいて入力行をグループに分割し、順序付けフィールドに従って行を並べ替え、各グループについて集計式 (この関数のカウント) を計算します。

構文

COUNT
(
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

戻り値

型の値を返します
LONG

入力パラメータ

input_field
必須のコンテンツ。集計関数を実行するフィールド。任意の数値フィールドまたは通貨フィールドを使用できます。
OVER()
必須のコンテンツ。
OVER
次の範囲内で使用してください:
COUNT
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
は、ウィンドウが現在の行から開始し、現在の行と現在の行より後にあるすべての行を含むことを意味します。

各社員の売上の移動カウント (実行中のカウント、または連続する回数) を計算できます。
COUNT([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
ORDER BY 句のフィールドに関係なく、分割内のすべての行について総売上高を計算できます。
COUNT([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
以下のように、12 か月間のカウントを計算できます。
COUNT([fieldA]) OVER( PARTITION BY [fieldB] ORDER BY [Month] RANGE 11 PRECEDING)
次の基準
Month
フィールドには、整数または数値などの数値タイプを指定してください。
以下のように、前年の累計数を計算できます。
COUNT([fieldA]) OVER( PARTITION BY [fieldB] ORDER BY [Year] RANGE 1 PRECEDING)
次の基準
Year
フィールドには、整数または数値などの数値タイプを指定してください。