見出し画像

見えちゃいけない情報をマスキング

はじめに

先日ご紹介したユーザー関数を使って
任意のデータをマスキングする方法をご紹介します。

ユーザー関数?何それ?という方は
ぜひこちらをご覧ください。

今回行う「マスキング」はこんな感じです。

自分(サインインユーザー)のデータには氏名を、
それ以外ならマスクした値を表示します。

全レコードを保持したまま値の一部をマスクするため、
以下のメリットがあります。

・プライバシー観点で見せたくない情報を隠せる
・全体における位置付けを把握できる

注意としては、これはビュー上の表示を制御しているだけなので、詳細データをダウンロードすると見せたくない情報を含むすべての値が見えてしまいます。

詳細データを見られては困る!という時は
Tableau Server/Cloudのパーミッションで
データのダウンロードを制御します。

今回作るチャートの概要

今回は、スキル評価の可視化を想定して
自分の評価のみ氏名が確認できる&自分以外の評価も匿名で確認できるチャートを作ってみます。

山本さんがアクセス時の表示

自分のマークは、青色で、他より大きな円で表示するため、ビューにアクセスした瞬間に、自分のマークを見つけることができます。

また、全評価対象者のデータ、全体平均も表示することで、スキルのばらつき・傾向とともに、自身の立ち位置を知ることができます。

手順は以下の5つです。
①データ準備
②データソースの作成
③マスキングを気にせず、チャート作成
④マスキングの下準備
⑤チャートへのマスキング反映

①データ準備

以下2つのデータを準備します。
・スキルデータ
・社員マスタ

スキルデータはこんな感じ。

社員番号×スキルで一意

社員マスタはこんな感じ。

社員番号で一意

★マスタのポイント★
・Tableau Server/Cloudのユーザー名に対応する項目を持つ
(メールアドレスをユーザー名としている場合を想定)
・マスキング粒度に合わせて、マスキング時の表示名を設定する
(社員番号に対し、分かりやすく連番で設定)

余談ですが、ダミーデータを作る際は、私は以下のようなサイトにお世話になっています。


②データソースの作成

スキルデータ(実績)に対し、社員番号(マスキング粒度)を結合キーにして、社員マスタ(マスキング用マスタ)を左結合します。

結合ではなく、ブレンドでもできるのですが、
今回は汎用性があり、シンプルな、結合のやり方で紹介します。

③マスキングを気にせず、チャート作成


評価(メジャー)をスキル(ディメンション)別に
社員番号の粒度でプロットします。

全体と比較しやすいように、評価の平均のリファレンスラインを追加します。

このままだと、同じ評価の社員の円が重なってしまうので、INDEXで適当に番号を振って、円をばらし、

INDEXのヘッダーを非表示にします。

評価のばらつきが分かるチャート完成!

突然のTips

ここでちょっと気になるのが軸の範囲です。

Tableauくんが気を効かせて軸範囲を0~6にしてくれているのですが、今回の評価は1~5なので、開始値が0、終了値が6なのはいまいちです。

だからといって、軸範囲を1~5に固定すると、
開始値/終了値と同じ値の円が切れてしまいます。

そんな時には、軸のメジャーをFLOATで括り、
軸範囲に小数点を指定できる状態にします。

そして、軸範囲に少しゆとりのある値を設定すると…

いい感じになりました。

このやり方は軸の開始値/終了値が決まっているケース、
例えば、開始値が必ず1のバンプチャートに便利です。

さて、本題に戻ります。

④マスキングの下準備

自分(サインインユーザー)とそれ以外で表示内容を変えるために、その判定用フィールドを作成します。

判定用フィールドの結果がTRUEだったら氏名を、
そうでなければ、社員マスタに持たせたマスクした値を返すフィールドを作成します。

⑤チャートへのマスキング反映

④のフィールドを使用して、ツールヒントの表示や、マークの色やサイズを調整します。

フィールドを置き換えることで表計算がエラーになってしまうと思うので、適宜修正します。

体裁を整えたら、完成!

山本さんは、技術力はめちゃくちゃあるものの
人に伝えたり、シーンに合わせて対応したり、といった、人を導くのに必要な力はもう少しなご様子です。

さいごに

今回は分かりやすさから、自分とそれ以外で区別した、ばらつきを見るチャートの作り方をご紹介しましたが、これを応用すると他にも色々なことができます。

データの区別で言うと、実際のビジネスシーンだと、
自分の所属部署とそれ以外という区別を使うシーンが多いかもしれません。

こちらは、今回の例でいう社員マスタにマスキング粒度(部署で分けたいなら部署)を入れると実現できます。

チャート種類については、
折れ線グラフで、自分の部署だけ色付きの太線にすると
他との推移の違いを見つけるのに有効です。

全体があってこそ、自分が注目すべきデータの
良し悪しや異常に気付けることもあるかと思います。

機会がありましたら、
こういったユーザー関数の使い方も試してみて下さい。

この記事が気に入ったらサポートをしてみませんか?