Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Sv translation
languageen

There are times that the data set only contains the unit price and sold quantity without the calculated revenue. This tutorial will show you how to calculate the revenue and revenue percentage towards total revenue.

Note

It is recommended to get familiar with memberSum function before proceeding with this tutorial.

The table we are going to build will have two drill down levels, Product Group and Product Name. Here is how the table will look like.

ilupng
revenue
Note

Make sure you are displaying the Unit Price correctly. The members aggregation should be Average rather than Sum.

The Revenue, which equals to Unit Price times Quantity is calculated using membersSum,

Code Block
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;

Make sure you place the order of the drill down levels in the parameters of membersSum correctly. It should follow the order of the drill downs in the table, so Product Group first and then Product Name. The last drill down level Transaction ID will make sure it aggregates total revenue for all transactions belongs to the same product group and same product.

In order to calculate the revenue percentage, we need to calculate the total revenue first.

Code Block
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;
}

So the code for calculating the revenue percentage is as below:

Code Block
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;

Next Steps

List siblings
Sv translation
languageja

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

Note

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

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

ilupng
revenue

Note

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

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

Code Block
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は、同じ製品グループと同じ製品に属するすべてのトランザクションの総売上を確実に集計します。

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

Code Block
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;
}

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

Code Block
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;

次に

List siblings

Sv translation
languagede

DatasetEs kann vorkommen, dass der Dataset nur den Einheitspreis und die verkaufte Menge ohne den berechneten Erlös enthält. Dieses Tutorial zeigt Ihnen, wie Sie den Erlös und den Erlösanteil am Gesamtumsatz berechnen.

Note

Es wird empfohlen, sich mit der MemberSum-Funktion vertraut zu machen, bevor Sie mit diesem Tutorial fortfahren.

Die Tabelle, die wir erstellen werden, wird zwei Drill-Down-Ebenen haben, Produktgruppe und Produktname. Hier ist, wie die Tabelle aussehen wird.

ilupng
revenue

Note

Achten Sie darauf, dass der Stückpreis korrekt angezeigt wird. Die Mitgliederaggregation sollte eher durchschnittlich als summiert sein.

Der Umsatz, der den Stückpreiszeiten entspricht, wird mit Hilfe von membersSum berechnet,

Code Block
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;

Achten Sie darauf, dass Sie die Reihenfolge der Drill-Down-Level in den Parametern von membersSum korrekt eingeben. Es sollte der Reihenfolge der Drill-Downs in der Tabelle folgen, also zuerst Produktgruppe und dann Produktname. Die letzte Drill-Down-Stufe Transaktions-ID stellt sicher, daß sie den Gesamtumsatz für alle Transaktionen aggregiert, die zur gleichen Produktgruppe und zum gleichen Produkt gehören.

Um den Umsatzprozentsatz zu berechnen, müssen wir zuerst den Gesamtumsatz berechnen.

Code Block
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;
}

Der Code für die Berechnung des Umsatzprozentsatzes lautet also wie folgt:

Code Block
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;

Nächste Schritte

List siblings