データセットに、単価と販売数量のみが含まれており、計算された売上がない場合があります。このチュートリアルでは、売上と総売上に対する収益率を計算する方法を示します。

このチュートリアルに進む前に、memberSum関数を十分参照することをお勧めします。

作成する表には、製品グループ製品名の2つのドリルダウンレベルがあります。表は次のようになります。

単価が正しく表示されていることを確認してください。メンバーの集計は、SumではなくAverageにする必要があります。

売上は、単価×数量に等しく、membersSumを使用して計算されます。

int totalRevenue = 0;

membersSum('[L_PRODUCT_GROUP][L_PRODUCT_NAME][L_TRANSACTION_ID]') {
    int thisRevenue = M_QUANTITY * M_USUAL_PRICE@AVG;
    totalRevenue = totalRevenue + thisRevenue;     
}

return totalRevenue;

membersSumのパラメーターにドリルダウンレベルの順序を正しく設定してください。表内のドリルダウンの順序に従う必要があるため、最初に製品グループ、次に製品名を選択します。最後のドリルダウンレベルのTransaction IDは、同じ製品グループと同じ製品に属するすべてのトランザクションの総売上を確実に集計します。

収益率を計算するには、最初に総売上を計算する必要があります。

aggregatePrevLevel(2){ 
int totalRevenue = 0;

membersSum('[L_PRODUCT_GROUP][L_PRODUCT_NAME][L_TRANSACTION_ID]') {
    int thisRevenue = M_QUANTITY * M_USUAL_PRICE@AVG;
    totalRevenue = totalRevenue  +  thisRevenue;     
}

return totalRevenue;
}

従って、収益率を計算するためのコードは次の通りです:

int total = aggregatePrevLevel(2){ 

int totalRevenue = 0;

membersSum('[L_PRODUCT_GROUP][L_PRODUCT_NAME][L_TRANSACTION_ID]') {
	int thisRevenue = M_QUANTITY * M_USUAL_PRICE@AVG;
    totalRevenue = totalRevenue  +  thisRevenue;     
}

return totalRevenue;
}

int totalRevenue = 0;

membersSum('[L_PRODUCT_GROUP][L_PRODUCT_NAME][L_TRANSACTION_ID]') {
	int thisRevenue = M_QUANTITY * M_USUAL_PRICE@AVG;
    totalRevenue = totalRevenue  +  thisRevenue;     
}

return totalRevenue/total;

次に