【Tableau】TOP10とWORST10を両方1つのシートで表示してランクの数値も出す方法
作りたいのはこんな感じのシートで、TOP10の顧客とWORST10の顧客を横一列に並べつつ、何位なのかをラベルで表示し、売上との比較をしています。データはサンプルスーパーストアです。
STEP1:データ配置
まず、顧客名と利益、売上を行列に配置します。
STEP2:結合セット作成
顧客名のフィルターから上位10の利益合計を選択してフィルターを作成します。フィルター横のプルダウンからセットを作成し、TOP10のセットができました。WORST10も同様にフィルター作成からセットの作成を行います。
データタブに作成されたセットがあるのでどちらかのプルダウンから結合セットの作成を選択し、TOPとWORST両方含むように両方のセットのすべての要素を選択します。
セットの作成に使った顧客名フィルターは外して、結合セットをフィルターに配置するとTOP10とWORST10の顧客名だけが残ります。降順に並べ替えるとこんな感じ。
STEP3:ランクの表示
ランクの表示にはこのような計算フィールドを作成しています。rank関数の結果によって昇順降順を切り替えて表示できるようにIF文で分岐しています。
STEP4:色の設定
利益側のカラーはSTEP3のランクの計算フィールドを色にも配置して反転させています。(TOP、WORST側が濃い色)
売上の棒グラフはTOPの人との差額を色で表現するため、表計算から次との差で基準を最初にしています。
次との差の表計算はデフォルトだと前との差になっていますが、「前」「次」「最初」「最後」が選べるので、結構便利です。(例えば最新月との売上差額だったら最後を選択すればできそう)