Tableauを利用したUser別表示データTips
業務でTableauを利用した際にちょっとひねった技を使う必要があったのでその備忘録として第二弾
役職に応じて見せるデータを変えたい
通常のTableauであればFilterをユーザーに設定してもらって見せるというのが一般的な流れになると思います。ただ、今回の場合は前回と同じくユーザーがログインした段階で見せたいというものになります。
営業の平社員、営業の課長さん、営業の部長さんの関連する値だけを見せたいというのが今回のゴールです。
前提条件 組織のマスタ情報がある
組織の階層を持ったマスター情報があるということが前提になります。
データイメージ
row, 部門, 部署, 役職, 人, 売上
1 Sales, 第一, 平, 山田, 100
2 Sales, 第一, 平, 田中, 150
3 Sales, 第一, 課長, 中田, 10
4 Sales, 第二, 課長, 佐藤, 20
5 Sales, 第二, 平, 松井, 200
5 Sales, 直, 部長, 長嶋, 0
課題の動き
平は自分の売り上げが見たい
課長は部署の合計が見たい
部長は部門の合計が見たい
解決策
部署、部門の合計を算出
まずはFIXED関数を利用して部署、部門の合計の列を追加します。
//Team_Sales 部署の売上
[Team_Sales]
{FIXED [部署]:SUM([Sales])}
//Group_Sales 部署の売上
[Group_Sales]
{FIXED [部門]:SUM([Sales])}
ここで利用するのがFIXED関数になります。
[Team_Sales]であれば同じ部署のSUM([Sales])の値が返ってきます。
FIXEDなどのLODについては下記のリンクとかわかりやすいです。
https://ex-ture.com/blog/2017/12/04/%E5%88%86%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%84lod-fixed%E7%B7%A8/
Userによって見せる列を変える
表示したい内容をUserの役職に応じて変更する
//表示したいSales
[Related_Sales]
CASE [役職]
WHEN "平"
THEN [Sales]
WHEN "課長"
THEN [Team_Sales]
WHEN "部長"
THEN [Group_Sales]
END
表示したい場所に[Related_Sales]を入れて
最後に
人 == USERNAME()
でFilterをかければ必要な人のデータだけを抜き出すことができます。
以上
Author And Source
この問題について(Tableauを利用したUser別表示データTips), 我々は、より多くの情報をここで見つけました https://qiita.com/tcat_bstar/items/3767064e948351318c82著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .