TOP ランクと BOTTOM ランクの拡張
GoodData では、ランク付けフィルターを指定できます。 TOP
ランクと BOTTOM
ランクのフィルターがあります。
下図では、[フィルター] タブで [ランク付けフィルター] を指定しています。
GoodData の Extensible Analytics Engine(XAE)のおかげで、ランク付けフィルターを内部メトリックあるいは 条件メトリック として他の計算で使用できます(Conditionals on XAE を参照)。
例
次の例では、GoodSales デモのプロジェクトを使用します。
TOP の例
成約した商談の数に基づいて、前四半期の地域別トップ5の販売担当者を調べます。 この計算のメトリックを作成しておくと、後でボーナス計算の乗算をするときにも使用できます。
このメトリック値を作成するには、MAQL TOP
ステートメントを Region (地域) と Sales Representative (販売担当者) でスライスして使用します。
What:
SELECT # of Won Opps. WHERE TOP(5) OF (# of Won Opps.)
How: Region(地域)、Sales Representative(販売担当者)
このメトリックで OF
キーワードを使用すると、複数のメトリックのランク付けが可能となり、ランク付けメトリックがサブメトリックとして解釈されます。
IN
ステートメントを使用する場合には、 SELECT
が必要となり、ランク付けメトリックはサブレポートとして解釈されます。このように定義したメトリックの結果は、下図のようになります。
ランクステートメントに WITHIN を使用する
上図では、1つの地域のみが表示されています。
各地域別のトップ5の販売担当者をレポートに表示するには、上記のメトリックに WITHIN (Region)
ステートメントを挿入します。
What:
SELECT # of Won Opps.
WHERE TOP(5) OF (# of Won Opps. )
WITHIN (Region)
How: Region(地域)、Sales Representative(販売担当者)
WITHIN (Region)
ステートメントは、Region レベルでメトリックの細分性をロックします。 上記のメトリックを地域のコンテキストで使用すると、各地域の上位5人の販売担当者を表すことになります。
この計算はメトリックの一部であるため、さらなる計算にも使用できます。また、別の上位/下位のレポートフィルターが適用されているネストされたメトリックとしても使用できます。 これは便利ですよね。
クラスタのディメンション性 (各 Region はクラスタを表す) は、ランク付けメトリックのディメンション性より小さくなければなりません。 そうでないと、例外が発生します。
次のメトリックは、例外を発生させます。
SELECT # of Won Opps.
WHERE TOP(5) IN (SELECT SUM(Amount) BY Year)
WITHIN (Month)
パーセント
さらに、パーセントでもランク付けできます。 ランク付けの数値を挿入する代わりに、値をパーセントに変更して、パーセント記号を含めます。
前四半期の地域別トップ5の販売担当者のパーセントを表示するには、5の後に % を追加します。
What:
SELECT # of Won Opps.
WHERE TOP(5%) OF (# of Won Opps.)
WITHIN (Region)