初期表示データをユーザーごとに変える方法[DATA Saber挑戦 #Week7]
DATA Saber BridgeプロジェクトにApprenticeとして参加しています。
週一note更新目指します。
ユーザー個別のデータを初期表示させたいニーズは多い
Tableau Server/Tableau Cloudに関してお話を聞くと、「同じURL(同じダッシュボード)で、ユーザーごとに初期表示のフィルターを変えたい」という話をよく耳にします。
このページでは、そういったニーズに応えるためのTableauでのユーザー個別データの初期表示方法を紹介します。
実装方法は色々ある
といっても、初期表示データを変えるための実装方法は色々あります。
実装方法については、「他の人のデータを閲覧不可にする(行レベルのセキュリティ)」か「フィルターから選択することで他の人のデータも閲覧できるようにする」かに分類できます。それらの中でも、今回は設定が複雑でない以下の4つを取り上げます。
基本的に、以下のフローで実装方法を選択すればよいと思います。(もちろん例外もあるので、そこは臨機応変に…)
今回は「フィルターから選択することで他の人のデータも閲覧できるようにする」方法(3、4)をメインに解説します。
具体的な実装方法
1.ユーザーフィルターを設定する
Tableauの標準機能である「ユーザーフィルター」を使って、行レベルでデータのアクセスを制限する方法です。
行レベルでのセキュリティを設定する方法のため、ダッシュボード閲覧者は他の人のデータを見ることはできません。
ただ、グループ一つひとつ、またはユーザー一人ひとり設定する必要があり、多くのグループ・ユーザーがいる場合にはあまり向いている方法とは言えません。
参考サイト:手動でユーザー フィルターを作成し、ユーザーを値にマッピングする | Tableau
2.ユーザー関数を利用して、行レベルセキュリティを実装する
Tableauの関数である「USERNAME()」や「FULLNAME()」を使用して、行レベルセキュリティを実装する方法です。
もちろんこの方法でも初期表示をユーザー固有のものにできますが、自分以外・自グループ以外のデータを閲覧することはできません。
参考サイト:データでセキュリティ フィールドを使用して動的フィルターを作成する | Tableau
3.ユーザーごとにカスタムビューを設定してもらう
ダッシュボードを公開してから、各ユーザーに「カスタムビュー」を作成してもらう方法です。
各ユーザーの見たいようにフィルターを掛けてもらい、その状態でカスタムビューを保存してもらうことで、初期表示時にユーザーごとに見たいデータを見てもらうことができます。
1、2で紹介した方法と明確に異なる点は、他の人のデータも閲覧できることです。
ただ、設定を各ユーザーに委ねる必要がある、という問題点もあります。組織内で活用を進めるためには、カスタムビューの設定についてViewerの方々に説明する必要が出てきそうです。
設定方法はTableauの公式サイトが詳しいです。
参考サイト:カスタム ビューの使用 | Tableau
4.ユーザー関数とパラメーターを利用する
ダッシュボードにアクセスしたユーザー名などをパラメーターに入れることで、表示するデータを切り替える方法です。
各ユーザー(Viewer)による設定作業が必要なく、かつ他ユーザーのデータも閲覧できる方法となります。
ただし、パラメーターでユーザーを選択するため、ユーザーの複数選択はできません。
設定方法としては以下の通り。
1.アクセスユーザーのユーザー名を全行に格納する
パラメーターの初期値に設定するためには、データソース内で一意の値にしておく必要があります。そこで、「表範囲LOD式」を使って表の中の列値を全て USERNAME() の結果に揃えます。
※FULLNAME関数でも同様の設定ができますが、USERNAME関数(つまりユーザー名)はサイト内で必ず一意であるのに対しFULLNAME関数(つまり表示名)は一意でない場合があります。
2.パラメーターを作成する
ユーザー名選択用のパラメーターを作成します。
この際、以下の通り設定します。
データ型:文字列
許容値:リスト
リストの値:「固定」→「ワークブックが開いている場合」、USERNAME()に対応するフィールド(今回はE-mail)を選択する
ワークブックが開いているときの値:1で作成した計算フィールド
この「ワークブックが開いているときの値」が、パラメーターの初期値となります。
3.フィルター用の計算フィールドを作成する
先ほど作成したパラメーターの値と一致している行のみに絞るための計算フィールドを作成します。
4.フィルター用計算フィールドをフィルターに設定する
3で作成したフィルターをワークシートのフィルターに設定します。もちろん、「真」のデータのみ表示するよう設定します。
2で作成したパラメーターをワークシートまたはダッシュボードに表示させることで、疑似的なフィルターとして表現することができます。
4 補足.ユーザー関数とパラメーターを利用して初期表示を自グループにする
この実装方法を応用すれば、初期表示を自グループに設定することもできます。
表範囲LOD式を使って全行に格納する集計に、以下のようにIF条件を設定してTableau Server/Cloudのユーザー名とE-mailが等しい行のグループ名が入るようにします。
そしてパラメーター、フィルター用の計算フィールドも作成すればOKです。
おわりに
Tableau Server/Cloudでの初期表示データの操作方法について記載してきました。
中でも「初期表示を各ユーザー個人のデータにしたい、でも他のユーザーのデータも閲覧できるようにしておきたい」という場合の解決方法を手厚く記載しました。
「目的のデータを見つけるのが大変」と言われて、折角作成したダッシュボードが使われない…なんてことの無いように、ユーザーの手間も考えてダッシュボードは作成しましょう。
この記事が気に入ったらサポートをしてみませんか?