プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

集計フィルタ

それぞれの集計に、独自のフィルタリングWHERE句を指定できます。 集計関数フィルタは、入力を集計式にフィルタします。 スパース・データまたは異種データの使用に役立ちます。 フィルタ条件を満たすレコードのみが、集計関数の計算の一因となります。

集計ごとのWHEREフィルタは、事前集計を実際に適用します。 理由は、集約後まで遅延した場合、実装は必要とするすべての列に必ずしもアクセスできるわけではないためです。

集計ごとの構文は次のとおりです:
AggregateFunction(Expression) WHERE (Filter)
次に例を示します。
RETURN NetSales AS 
SELECT
  SUM(Amount) WHERE (Type='Sale') AS SalesTotal,
  SUM(Amount) WHERE (Type='Return') AS ReturnTotal,
  ARB(SalesTotal – ReturnTotal) AS Total
FROM SaleState
GROUP BY Year, Month, Category
これは次のものと同じです:
SUM(CASE WHEN Type='Sale' THEN Amount END) AS SalesTotal,
SUM(CASE WHEN type='Return' THEN Amount END) AS ReturnTotal
...

注意:

これらのWHERE句は、文レベルのWHERE句と同様に、割当てではなくレコードに対しても機能します。 ソース・レコードは、文レベルのWHERE句および集計WHERE句を渡した場合、集計に貢献します。