2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Tableauを利用したUser別表示データTips

Last updated at Posted at 2018-10-23

業務で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をかければ必要な人のデータだけを抜き出すことができます。

以上

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?