【Tableau Tips】フィルターをかけてもランキングを維持する

【Tableau Tips】フィルターをかけてもランキングを維持する | Tableau-id Press -タブロイド-
アイキャッチ4

tomokoです。

チャートを数値の大きさで並べかえたいという要望はよくありますね。
フィルターをかけたらフィルターをかけたものの中での順位になってしまう…、ということに直面したことはありませんか?
その解消方法をご紹介します!

ランク関数の計算順序

RANK関数は表計算関数です。表計算関数はフィルターがかかった後に計算されます。
詳しくは RANKとINDEXの違い でも紹介しています。

ランク関数でランキングする

単純にRank関数でランクした状態で、ディメンションフィルターをかけると…

↓フィルターがかかった状態の中でランクが振られてしまいます。

フィルターをかけても全体のランキングを維持したい

最初にRANK関数の計算順序を確認しましたが、表計算であるRANK関数は、すべてのフィルターがかかった後に計算されます。

今回はメーカーのフィルターをかけています。メーカーのフィルターはディメンションフィルターですので、
このままだと表計算よりも先に計算されてしまいます。
そこで、メーカーを表計算にしてしまいましょう!

表計算関数の1つであるLOOKUPを使用した計算フィールドを作成します。
表計算関数で指定するフィールドは集計か定数でないといけないため、メーカーをATTRでくくります。

作成した [メーカー(表計算)] をフィルターに入れて [メーカー(表計算)] を絞ると…
↓メーカーが絞られてもランクは維持されています!

サンプルViz

ディメンションを表計算にしてフィルターをかける方法を実装したVizを Tableau Public にあげています。

ニューヨークの高校で行われたSATという試験の結果のランキングで、受験者数、科目のいずれかをソートキーとして選択し、
ランクを確認することができます。
学校でフィルターしても順位は変更されません。

まとめ

「表計算はすべてのフィルターの最後に計算される」
これを意識して表計算を使いこなしてくださいね!