機械翻訳について

AGGREGATIONONLY

AGGREGATIONONLYは、集計データのみを格納するように設計されたデータセット定義の表タイプです。

これにより、データセットに、RAWトランザクション・レコードではなく、集計された値の単一行が含まれるようになります。 各列では、SUMやAVGなどの集計関数を使用してその値を導出する必要があります。

主な機能
  • 主キー不要: 集計のみのデータセットには、集計されたデータの1行が含まれているため、主キーが不要になります。
  • 必須集計: これらのデータセットの列は、集計関数を使用する必要があります(例: SUM()AVG())。
  • グループ化禁止: GROUPBYが指定されている場合、データセットは集計のみではなく通常のデータセットとして扱われます。
DEFINE AGGREGATIONONLY DATASET SALES_AGG
 ROWSOURCE SALES WHERE SALES.QUANTITY_SOLD > 10 ; 
 THIS[AVG_SALES_AMT] = AVG(SALES[AMOUNT_SOLD]); 
END

複数の計測総計

集計専用データセットには、平均、合計、最小などの複数のメトリックを格納できます。

例:
DEFINE AGGREGATIONONLY DATASET SALES_AGG1 
    ROWSOURCE SALES WHERE SALES.QUANTITY_SOLD > 10; 
    THIS[AVG_SALES_AMT] = AVG(SALES[AMOUNT_SOLD]); 
    THIS[SUM_SALES_AMT] = SUM(SALES[AMOUNT_SOLD]); 
    THIS[MIN_SALES_AMT] = MIN(SALES[AMOUNT_SOLD]); 
    THIS[MAX_SALES_AMT] = MAX(SALES[AMOUNT_SOLD]); 
END

集計専用データセットでの完全および増分ロード

集計専用データセットでは、コード・ブロック・ロード(フル・ロードと増分ロードの両方)がサポートされています。 コード・ブロック・ロード- 完全および増分ロードの手順を参照してください。

例:
DEFINE AGGREGATIONONLY DATASET SALES_AGG2
	ON FULL LOAD 
 		ROWSOURCE SALES WHERE SALES.QUANTITY_SOLD > 20; 
 		THIS[AVG_SALES_AMT] = AVG(SALES[AMOUNT_SOLD]); 
 		THIS[SUM_SALES_AMT] = SUM(SALES[AMOUNT_SOLD]); 
 		THIS[MIN_SALES_AMT] = MIN(SALES[AMOUNT_SOLD]); 
 		THIS[MAX_SALES_AMT] = MAX(SALES[AMOUNT_SOLD]); 
 	INCREMENTAL LOAD 
 		ROWSOURCE SALES WHERE SALES.QUANTITY_SOLD > 10; 
 		THIS[AVG_SALES_AMT] = AVG(SALES[AMOUNT_SOLD]); 
		THIS[SUM_SALES_AMT] = SUM(SALES[AMOUNT_SOLD]); 
 		THIS[MIN_SALES_AMT] = MIN(SALES[AMOUNT_SOLD]); 
 		THIS[MAX_SALES_AMT] = MAX(SALES[AMOUNT_SOLD]); 
	 ENDLOAD 
END
この例では、次のようになります。
  • 「フル・ロード」では、QUANTITY_SOLD > 20のSALESが使用され、すべてのレコードが切り捨てられ、再ロードされます。
  • 増分ロードでは、SALES (QUANTITY_SOLD > 10)が使用されます。

導出集計専用データセット

計算を簡略化するために、他の集計専用データセットから集計専用データセットを導出できます。

例:
DEFINE AGGREGATIONONLY DATASET SALES_AGG3
 ROWSOURCE SALES_AGG2;
 THIS = SALES_AGG2.AVG_SALES_AMT;
END

ノート:

  • 集計専用ソースから排他的に作成されたデータセットをAGGREGATIONONLYとしてマークする必要があります。
  • CROSS JOINは、集計のみの入力で許可される唯一の結合タイプです。
  • Refresh On Changesディレクティブは、集計専用データセットでは使用できません。

集計専用データセットとトランザクション・データの結合

CROSS JOINを使用して、集計のみのデータセットをトランザクション・データと組み合せることができます。

例:
DEFINE DATASET SALES_AGG4 
 ROWSOURCE SALES CROSS JOIN SALES_AGG_DERIVED WHERE SALES.QUANTITY_SOLD > 10; 
 THIS = SALES_AGG_DERIVED; 
 THIS = SALES; 
 PRIMARYKEY[PROD_ID,CHANNEL_ID,CUST_ID,TIME_ID,PROMO_ID]; 
 REFRESH ON CHANGES IN[SALES]; 
END

ノート:

  • CROSS JOINは、集計のみの入力で許可される唯一の結合タイプです。
  • Refresh On Changesディレクティブは、集計専用データセットでは使用できません。