Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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のパラメーターに正しく置いたことをご確認ください。表のドリルダウンに従い、製品グループが最初、次が製品名となるはずです。最後のドリルダウンレベルである取引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

Es kann vorkommen, dass der Datensatz 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