0
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?

Databricks AI/BIダッシュボードのパラメーターとフィルター

Last updated at Posted at 2024-09-16

最近色々と熱いAI/BIダッシュボードですが、こちらの記事に沿って操作していたところ、若干詰まるところがありました。

ダッシュボードに表示されるデータを絞り込む機能には以下の2つがあります。

なぜ2つ?違いが何で、どのように使い分けるのかを理解するところから着手しました。

詳細は以下で説明しますが、概要をこちらにまとめます。

パラメーター

クエリーで :パラメーター名 と記述することでパラメーター化することができます。

Screenshot 2024-09-16 at 9.54.29.png

データセットのフィルター

データセットのフィールド(カラム)を指定することで、当該データセットを使用しているビジュアライゼーション全てに動作するフィルターを定義できます。

Screenshot 2024-09-16 at 9.54.52.png

クエリーベースのパラメーター

クエリーから動的にフィルターの値を生成し、選択した値をパラメータに反映できます。

Screenshot 2024-09-16 at 9.55.16.png

パラメーターとは

AI/BIダッシュボードに表示するデータを取得する際には、背後でSQLが実行されます。静的なSQLの場合、データソースが変化しない限り常に同じデータを取得することになります。特定のデータのみを取得したいというニーズは当然ありますので、これに応えるために動的にSQLにパラメーターを埋め込んで、取得するデータを絞り込む機能がパラメーターです。

パラメーターの作成方法

データを取得するSQLで:<パラメーター名>を記載すると、SQLの下にパラメーターボックスが作成されます。

Screenshot 2024-09-11 at 17.10.35.png

なお、この時点でパラメーターのボックスに値を指定すると、これが静的なウィジェットパラメーターに設定されます。

Screenshot 2024-09-11 at 17.17.39.png
Screenshot 2024-09-11 at 17.17.52.png

この状態でビジュアライゼーションをクローンして、パラメーターを変更することもできます。
Screenshot 2024-09-11 at 17.19.20.png

こちらにも書いてある通り、SQLにプレースホルダーを設けることができるパラメーターは強力な機能ではありますが、このままですとパラメーターの値は毎回手動で入力しなくてはなりません。

パラメーターは、データセットのSQLのどこでも導入することができるパワフルなツールであり、フィルターを定義する際に最大の柔軟性を提供します。パラメーターはSQLにおけるリテラルに対するプレースホルダーですが、それらは他のすべてのフィールドのように動作すべきであり、作成者が値を設定するためにドロップダウンや他に使用するフィルターに組み込めるようにすべきです。

後述のフィルターとパラメーターを組み合わせることで、容易にパラメーターを指定できる方法は後ほど説明します。

フィルターとは

一方でフィルターは、ダッシュボード上のウィジェットとして動作します。ですので、ダッシュボードの一部品としてインタラクティブに操作することができます。

ここで注意する必要があるのは、フィルターの設定のフィールドに何を設定するのかによって挙動が変わるということです。

  • データセットのカラムを指定: 当該データセットを使用している全てのビジュアライゼーションにフィルターが適用されます。
  • クエリーのカラムを指定し、パラメーターにデータセットに指定されているパラメーターを指定: 当該パラメーターを更新するクエリーベースのパラメーターとして動作します。

データセットに対するフィルター

フィールドにデータセットのフィールド(カラム)を指定します。これによって、当該データセットを用いているビジュアライゼーションにすべて適用されるフィルターとして動作します。

Screenshot 2024-09-16 at 9.08.47.png

フィルターの値は指定されたカラムから自動で生成されます。
Screenshot 2024-09-16 at 9.09.06.png
Screenshot 2024-09-16 at 9.10.15.png

クエリベースのパラメーター

クエリーベースのパラメーターは、フィルターの値をクエリーで構築して、選択した値をパラメーターとして適用する機能です。

パラメーターとフィールドの組み合わせを可能にすることで、他のデータセットの値を用いたパラメーターフィルターを作成する能力を追加しました。このクエリーベースのパラメーター値へのアプローチは、動的に変動する日付の粒度のような高度な分析能力を解放します。

はじめに、フィルターの値を構成するクエリーを作成します。ここでは、関東地方の都道府県からフィルターを構成するようにします。データタブでSQLから作成をクリックし、以下のクエリーを記述します。

Prefecture List of Kanto Region Covid Cases
SELECT
  Prefecture
FROM
  users.takaaki_yayoi.covid_cases
WHERE
  Area = "関東地方"

そして、フィルターの値をパラメーターとして受け取るクエリーを記述します。

covid_cases_param
SELECT
  *
FROM
  users.takaaki_yayoi.covid_cases
WHERE
  Prefecture = :Prefecture

キャンバスに戻り、フィルターを追加します。ここで、以下の設定を行います。

  • フィールド: はじめに定義したクエリー。ここでは、Prefecture List of Kanto Region Covid Cases
  • パラメータ: 二つ目に定義したクエリーのパラメーターPrefecture

Screenshot 2024-09-16 at 9.38.31.png

これで、フィルターの選択肢は動的に生成され、選択した値がパラメーターとして動作するようになります。
Screenshot 2024-09-16 at 9.39.19.png

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

フィルターとパラメーターの組み合わせ: クエリーベースのパラメーター

まとめ

0
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
0
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?