Tableauでパラメーターの一括適用ボタンを使ってクエリを効率化する方法
Tableauのダッシュボードを使用する際に、多くのパラメーターを設定し、それらのパラメーターを変更するたびにビューが更新されることに悩んだことはありませんか?この記事では、パラメーターの一括適用を設定することで、パラメーターの変更ごとにクエリが実行されないようにする方法をご紹介します。
以前、フィルターの一括適用に関する記事を執筆したところ、多くの方からコメントをいただきました。フィードバックをありがとうございます。
ableauのフィルターを一括適用することで、Tableauの画面表示において大きく3つのメリットがあります。
パフォーマンスの改善
待ち時間の短縮
クエリコストの低減
Tableauフィルターの一括適用ボタンの設定手順については、以下の記事を参照してください。
フィルターの一括適用ボタンでクエリを効率化する
この記事を書き終えたところ、ふと思いました。ユーザーがTableauの画面を開き、ダッシュボードの操作でフィルターの他に時間やコストをかけている操作は何か...
それはパラメーターです。
Tableauのパラメーターは、フィルターと同様に、任意の値を計算式やフィルターに渡すために使用されるダッシュボード機能です。パラメーターが多く配置されたダッシュボードでは、ユーザーは画面を開いてパラメーターを設定し、それからビューを表示することがあります。これにより、Google BigQueryやSnowflakeの従量課金モデルで思わぬ高額の請求が発生するリスクがあります。また、ユーザーはパラメーターを変更するたびにクエリが実行され、画面が更新されるのを待たなければなりません。
本記事では、Tableauパラメーターの一括適用ボタンを設定する手順を紹介します。
Youtube で学ぶ
YouTubeで設定方法の手順を12分の動画にまとめました。
パラメーターの一括適用ボタンの作り方
記事の手順と併せて Tableau Public からワークブックをダウンロードして確認いただくことができます。
1. ダッシュボードで使用するパラメーターを 入力 /出力用に作成します。
Category Inputと Category Outputはパラメーターの名前だけ異なり、パラメーターの設定はすべて同一のものを用意します。
2. Outputパラメーターをフィルターや計算式で使用します。
パラメーターの値がフィルターに渡り、値に応じて Category がフィルターされます。
ここでは、フィルターにパラメーターの値を渡していますが、パラメーターは計算フィールドに入力して使うこともあります。
今回の例では Categoryと Regionのフィールドのフィルターがダッシュボード上のすべてのシートに適用されるように「このデータソースを使用するすべて」を選択します。
3 ダッシュボードでのパラメーターは Inputパラメーターを設置します。
ダッシュボードでは必ず Inputパラメーターを設置してください。Inputパラメーターの値を変更しても、ビューには何も変更が適用されません。理由は 2では 各フィルターは Outputパラメーターでコントロールをしているためです。
4. 適用ボタンのワークシートに Category Input 、Region Inputを列に加える
パラメーターおよびフィルターの適用を行うためのボタンとなるワークシートを作っています。その他、年(Order Date)、Ship Mode や Segment はフィルターの適用を行うために加えています。
5. ダッシュボードアクションのパラメーターの変更を定義する
今回の例では Category、Region の 2 つのパラメーターを変更するために、2 つのアクションを追加します。
カテゴリ出力では、ソースシートは 4の適用ボタンワークシートを指定し、ターゲットパラメーターは Category Output、ソースフィールドは Category Inputを指定します。
何を設定したか
ダッシュボードでは Category Inputの値を変更しても何もビューの更新は行われません。適用ボタンを押すことで、カテゴリ出力のパラメーター変更アクションが実行されて、Category Output に反映されてビューが更新されます。
設定を終えれば、パラメーターの値を変更しても適用ボタンを押さないと、ビューが更新されないダッシュボードを作ることができます。
設定手順に不明点が残る場合は Tableau Publicからワークブックをダウンロードしてご利用ください。
この記事では、パラメーターの一括適用によるクエリの最適化について書きました。
参考記事
内容にリクエストやご質問ありましたら Rintaro Sugimura までご連絡ください。