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
Note

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

When evaluating formulas, BellaDati proceeds in following fashion:

  1. Apply Member aggregation function to particular Indicators. (SUM, MIN, MAX, AVG, COUNT)
  2. Execute user defined Operations among Indicators. (+,-,*,/).

However, sometimes this behavior is not demanded.

Info

Imagine following situation. You have Price and Quanity indicators and want to display Total Sales. In its standard behavior, BellaDati would sum all prices and quantities and eventually multiply it. Nevertheless, right procedure will be to multiply Price and Quantity on every row and subsequently consolidate result to display Total Sales.

Calculating Total Sales

You can leverage memberSum function to force BellaDati to execute defined operation on particular level. Since multiplication of Price and Quantity is needed on every row, use unique key attribute as memberSum parameter.

Tip

This example is sufficient for indicators without drill-down path applied. Proceed further to find out how to extend this code in case of desired dimensionality.

Code Block
int sales = 0
membersSum('L_ID'){
	int revenue = (M_QUANTITY * M_PRICE)
  sales = sales + revenue
}

return sales

Calculating Total Sales For Particular Drill-Down

If you want drill-down path to be considered while applying memberSum function, you have to explicitelly define it in developed formula. Place desired attribute code before unique key definition as shown in the following example. This will ensure that your data are correctly multiplied and subsequently aggregated.

Note

Note that order of parameters in memberSum function is important. Also, you still need to select particular attribute in drill-down path definition.

Code Block
int sales = 0
membersSum('[L_DEPARTMENT][L_ID]'){
	int revenue = (M_QUANTITY * M_PRICE)
  sales = sales  +  revenue
}

return sales 
Tip

You can extend dimensionality by adding more parameters into the formula.

You can observe result of the applied formula in the following table. Same settings would apply for char data visualization.

ilupng
memberSum

Next Steps

Sv translation
languageja
Note

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

数式の評価に関して、BellaDatiは以下の方法で進めます:

  1. 特定のインジケータメンバー集計関数を適用します(SUM, MIN, MAX, AVG, COUNT)
  2. インジケータ間でユーザー定義の演算子を計算を実行します(+,-,*,/)

ただし、この動作が要求されない場合があります。

Info

次の状況を想像してみてください。価格数量のインジケータがあり、総売上を表示したいとします。標準的な動作では、BellaDatiはすべての価格と数量を合計し、最終的にそれを乗算します。それでも、正しい手順は、すべての行で価格数量を乗算し、その後結果を統合して総売上を表示することです。

総売上の計算

memberSum関数を活用して、BellaDatiに特定のレベルで定義された操作を実行させることができます。すべての行で価格数量の乗算が必要なので、一意のキー属性をmemberSumパラメーターとして使用します。

Tip

この例は、ドリルダウンパスが適用されていないインジケータには十分です。目的のディメンジョンにこのコードを拡張する方法を見つけるには、さらに進んでください。

Code Block
int sales = 0
membersSum('L_ID'){
	int revenue = (M_QUANTITY * M_PRICE)
  sales = sales + revenue
}

return sales

特定のドリルダウンのための総売上の計算

memberSum関数の適用中にドリルダウンパスを考慮する場合は、開発した式で明示的に定義する必要があります。次の例に示すように、一意のキー定義の前に目的の属性コードを配置します。これにより、データが正しく乗算され、その後集計されます。

Note

memberSum関数のパラメーターの順序は重要であることに注意してください。また、ドリルダウンパス定義で特定の属性を選択する必要があります。

Code Block
int sales = 0
membersSum('[L_DEPARTMENT][L_ID]'){
	int revenue = (M_QUANTITY * M_PRICE)
  sales = sales  +  revenue
}

return sales 
Tip

数式にパラメーターを追加することにより、次元を拡張できます。

以下の表で、適用された数式結果を確認できます。同様の設定が、文字データの視覚化にも適用されます。

ilupng
memberSum

次に

Sv translation
languagede


Note

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

Bei der Bewertung von Formeln geht BellaDati wie folgt vor:

  1. Die Funktion Mitgliederaggregation auf bestimmte Indikatoren anwenden. (SUMME, MIN, MAX, AVG, AVG, COUNT)
  2. Ausführen von benutzerdefinierten Operationen zwischen Indikatoren. (+,-,*,/).

Manchmal wird dieses Verhalten jedoch nicht gefordert.

Info

Stellen Sie sich die folgende Situation vor. Sie haben die Kennzeichen Preis und Menge und möchten den Gesamtumsatz anzeigen. In seinem Standardverhalten würde BellaDati alle Preise und Mengen summieren und schließlich multiplizieren. Dennoch ist es das richtige Verfahren, Preis und Menge in jeder Zeile zu multiplizieren und anschließend das Ergebnis zu konsolidieren, um den Gesamtumsatz anzuzeigen.

Berechnung des Gesamtumsatzes

Sie können die MemberSum-Funktion nutzen, um BellaDati zu zwingen, einen definierten Vorgang auf einer bestimmten Ebene durchzuführen. Da die Multiplikation von Preis und Menge in jeder Zeile erforderlich ist, verwenden Sie ein eindeutiges Schlüsselattribut als MemberSum-Parameter.

Tip

Dieses Beispiel ist ausreichend für Indikatoren ohne Drill-Down-Pfad. Fahren Sie fort, um herauszufinden, wie Sie diesen Code im Falle einer gewünschten Dimensionalität erweitern können.

Code Block
int sales = 0
membersSum('L_ID'){
	int revenue = (M_QUANTITY * M_PRICE)
  sales = sales + revenue
}

return sales

Berechnung des Gesamtumsatzes für einen bestimmten Drill-Down

Wenn Sie möchten, dass bei der Anwendung der memberSum-Funktion der Drill-Down-Pfad berücksichtigt wird, müssen Sie ihn explizit in der entwickelten Formel definieren. Platzieren Sie den gewünschten Attributcode vor der eindeutigen Schlüsseldefinition, wie im folgenden Beispiel gezeigt. Dadurch wird sichergestellt, dass Ihre Daten korrekt multipliziert und anschließend aggregiert werden.

Note

Beachten Sie, dass die Reihenfolge der Parameter in der Funktion memberSum wichtig ist. Außerdem müssen Sie in der Pfaddefinition des Aufrisses noch ein bestimmtes Attribut auswählen.

Code Block
int sales = 0
membersSum('[L_DEPARTMENT][L_ID]'){
	int revenue = (M_QUANTITY * M_PRICE)
  sales = sales  +  revenue
}

return sales 
Tip

Sie können die Dimensionalität erweitern, indem Sie weitere Parameter in die Formel aufnehmen.

Das Ergebnis der angewandten Formel können Sie in der folgenden Tabelle sehen. Für die Char-Datenvisualisierung gelten die gleichen Einstellungen.

ilupng
memberSum

Nächste Schritte