メインコンテンツまでスキップ

ダッシュボードの操作

このページではAI/BIダッシュボードでの侵害の使用方法について説明します。 代わりにフィールド フィルターについて学習したい場合は、 「フィールドのフィルター」を参照してください。

AI/BIダッシュボードのパラメーターを使用すると、ランタイム時にデータセット クエリにさまざまな値を代入できます。 これにより、SQL クエリでデータが集計される前に、日付や製品カテゴリなどの条件でデータをフィルタリングできるため、クエリの効率が向上し、分析が正確になります。 パラメーターは、フィルター ウィジェットと併用してダッシュボードをインタラクティブにしたり、視覚化ウィジェットと併用してデータセットを再利用しやすくしたりできます。

ダッシュボードの作成者または編集者は、データセットに問題を追加し、ダッシュボード キャンバス上の 1 つ以上のウィジェットに接続します。 視覚化ウィジェットに設定された静的な問題の場合、値は作成者または編集者によって設定されます。 フィルター ウィジェットで使用される問題の場合、ダッシュボード閲覧者はランタイム時にフィルター ウィジェットの値を選択することでデータを操作できます。 このインタラクションにより、関連付けられたクエリが再実行され、フィルター処理されたデータに基づいて視覚化が表示されます。

フィールド フィルターとパラメーターのどちらかを選択します

パラメーターはクエリを直接変更するため、パワフルなものになる場合があります。 データセット フィールド フィルターは、ダッシュボードの対話性、より多くの機能、大規模なデータセットでの優れたパフォーマンスも提供します。 詳細については、 フィールドまたはパラメーターでフィルターを適用する必要がありますか?を参照してください。 。

クエリに問題を追加する

ダッシュボード データセットにパラメーターを追加するには、ドラフト ダッシュボードに対するCAN EDIT権限以上が必要です。 [データ] タブでデータセットのクエリに直接パラメーターを追加できます。

GIF は次のステップの例を示しています。

クエリにパラメーターを追加するには:

  1. クエリ内のパラメーターを配置する場所にカーソルを置きます。

  2. パラメーターを追加 をクリックし、新しいパラメーターを追加します。

    これにより、安全な名前parameterを持つ新しい問題が作成されます。 デフォルト名を変更するには、クエリ エディターで置き換えます。クエリ エディターでこの構文を入力して、パラメーターを追加することもできます。

クエリを編集する

パラメーターを編集するには:

  1. パラメーター名の横にある 歯車アイコン。 をクリックします。 パラメーターの詳細 ダイアログが表示され、次の構成オプションが表示されます。

    • キーワード : クエリ内のパラメーターを表すキーワード。 これは、クエリ内のテキストを直接更新することによってのみ変更できます。

    • 表示名 : フィルター エディター内の名前。デフォルトでは、タイトルはキーワードと同じになります。

    • タイプ : サポートされているタイプには、 文字列日付日付と時刻数値など があります。

      • 安心タイプは 文字列 です。
      • Numeric データ型では、 DecimalInteger のどちらかを指定できます。デフォルトの数値型は Decimal です。
    • 複数選択を許可する : チェックボックスを選択すると、ユーザーがランタイム時に複数の問題を選択できるようになります。

注記

この選択により、クエリに追加の変更が必要になる場合があります。「複数選択を許可する」を参照してください。

  1. ダイアログを閉じるには、UI の別の部分をクリックします。

大丈夫値を設定する

クエリをテストするには、実行名とクエリの下のテキスト フィールドに安全な値を入力します。 これにより、問題値が適用されるため、結果をプレビューして、クエリが期待どおりに実行されたことを確認できます。 クエリを実行すると、デフォルト値も保存されます。

フィルタ ウィジェットで「大丈夫」を使用する場合、ウィジェットで別の「たぶん」が指定されていない限り、 「データ」 タブの「たぶん」の値が使用されます。 「ダッシュボード フィルターの使用」を参照してください。

ダッシュボードの作成者は、データセット タブで選択したデフォルト値を使用して、パラメータ化されたクエリが正常に実行されることを確認する必要があります。Databricks はデータセット スキーマをクエリしてウィジェット構成エディターにデータを入力します。場合によっては、特にIDENTIFIER句を使用するパラメーター化されたクエリの場合、ユーザーが実行時に値を選択すると成功する場合でも、データセット クエリは確実な値での実行に失敗することがあります。

複数選択を許可する

複数選択を許可するクエリには、クエリにARRAY_CONTAINS関数を含める必要があります。

次の例は、クエリに挿入する複数の値を選択できるSQLクエリを示しています。 WHERE句は、追加のNULLチェックを含むARRAY_CONTAINS関数を使用します。引数は、クエリに配列として挿入できるように、複数の値を保持するように設定する必要があります。

クエリが実行されると、次のようになります。

  • 特定の値を選択した場合、各行が評価され、 l_quantity :parameter内の少なくとも 1 つの値と一致するすべての行が結果セットに含まれます。
  • 「すべて」を選択した場合、問題はNULLとなり、すべての行が返されます (フィルタリングは適用されません)。
SQL
SELECT
*
FROM
samples.tpch.lineitem
WHERE array_contains(:parameter, l_quantity) OR :parameter IS NULL

デフォルト値を設定するには:

  1. ARRAY_CONTAINS関数を使用して値のリストに基づいて行をフィルター処理するデータセット クエリを記述します。

  2. クリック歯車アイコン。問題名の横にある歯車アイコン。 [複数選択を許可する] を選択します。

注記

このステップにより、問題を配列としてクエリに挿入できるようになります。 複数選択を有効にせずにARRAY_CONTAINS関数を使用すると、エラーが発生します。

  1. 表示名の下のテキスト フィールドに値を入力します。複数の値を入力できます。次の値を入力する前に現在の値を選択してください。

デフォルト値はエディターで設定されます。複数の値が選択され、スペースで区切られます。

適用日範囲

問題を使用して範囲を定義し、その範囲内の結果のみを返すことができます。 次のいずれかのタイプを選択すると、接尾辞.min.maxで指定される 2 つの疑問が作成されます。

  • 日付範囲
  • 日時範囲

次の例は、 date_paramという名前の日付範囲を作成するSQLクエリを示しています。 OR :date_param IS NULL条件は、閲覧者が [すべて] を選択した場合を処理します。これにより、引数がnullに設定され、すべての行が返されます。

SQL
SELECT * FROM samples.tpch.lineitem
WHERE l_shipdate BETWEEN :date_param.min AND :date_param.max
OR :date_param IS NULL

日付範囲を作成するには:

  1. 「追加」 をクリックします。

  2. クリック歯車アイコン。問題名の横にあります。 キーワード表示名 を入力します。.minまたは.maxサフィックスを含めないでください。

  3. タイプ として 日付範囲 または 日付と時刻の範囲 を選択します。

  4. 範囲を定義するWHERE句をクエリに挿入します。範囲を定義するには、 .min.max値を持つBETWEEN句を使用し、 すべての 選択を処理するためのOR :parameter IS NULL条件を含めます。例えば:

    SQL
     WHERE date_col BETWEEN :date_param.min AND :date_param.max
    OR :date_param IS NULL
  5. デフォルトの日付値を入力し、クエリを実行してテストします。カレンダー アイコンを使用して、先週や先月などの事前設定されたオプションを選択します。

クエリベースの問題

クエリベースのパラメーターを使用すると、作成者は、閲覧者がダッシュボードでデータを探索する際におけるパラメーターの設定で選択できる値の動的または静的なリストを定義できます。 これらは、フィールドフィルターとパラメーターフィルターを 1 つのフィルターウィジェットに組み合わせて定義されます。

クエリベースのパラメーターを作成するには、ダッシュボード作成者は次の手順を実行します。

  1. 可能なパラメータ値のリストに限定されたデータセットを作成します。
  2. パラメーターを使用するデータセットクエリーを作成します。
  3. キャンバス上でフィールドをフィルタリングし、パラメーターを使用するフィルタウィジェットを設定します。
    • フィールド 構成は、適切な引数値の必要なリストを持つパラメーター値を使用するように設定する必要があります。
    • 問題値を選択するには、 問題 構成を設定する必要があります。

クエリベースと視覚化を追加する方法を示すステップバイステップのチュートリアルについては、「クエリベースの使用」を参照してください。

注記

クエリベースのクエリで使用されるデータセットがダッシュボード上の他のビジュアライゼーションでも使用されている場合、ビューアのフィルター選択により、接続されているすべてのクエリが変更されます。 これを回避するには、作成者は、ダッシュボード上の他のビジュアライゼーションでは使用されない、クエリベースの問題専用のデータセットを作成する必要があります。

動的な争点リストを作成する

閲覧者が値を選択するために使用するドロップダウンに値を入力する動的なデータセットを作成するには、単一のフィールドを返し、そのフィールド内のすべての値を含むSQLクエリを記述します。 そのフィールドの新しい値はすべて、問題の選択として自動的に追加されます。 SQL クエリの例は次のとおりです。

SQL
 SELECT
DISTINCT c_mktsegment
FROM
samples.tpch.customer

動的な問題ドロップダウンの作成

静的な争点リストを作成する

データセットにハードコードした値のみを含む静的データセットを作成できます。クエリの例は次のとおりです。

SQL
SELECT
*
FROM
(
VALUES
('MACHINERY'),
('BUILDING'),
('FURNITURE'),
('HOUSEHOLD'),
('AUTOMOBILE')
) AS data(available_choices)

クエリを削除する

パラメーターを削除するには、クエリからパラメーターを削除します。

静的ウィジェット

静的ウィジェットは可視化ウィジェット内で直接設定されるため、作成者は同じデータセットを共有する可視化ウィジェットを個別にパラメータ化できます。 これにより、同じデータセットをキャンバス上で異なるビューで表示できるようになります。

このセクションの例は、 samples.nyctaxi.tripsテーブルをクエリするデータセットに基づいています。提供されたクエリは、各旅行の距離を返し、ピックアップ日をWeekdayまたはWeekendのいずれかに分類します。クエリは、ピックアップが平日か週末のどちらに発生したかに基づいて結果をフィルター処理します。

クエリ テキストは次のコード ブロックで提供されますが、このセクションの手順は、静的ウィジェット で構成された関連する視覚化の設定に限定されています。 問題を使用してデータセットを設定する手順については、 「クエリに問題を追加する」を参照してください。

SQL

WITH DayType AS (
SELECT
CASE
WHEN DAYOFWEEK(tpep_pickup_datetime) IN (1, 7) THEN 'Weekend'
ELSE 'Weekday'
END AS day_type,
trip_distance
FROM samples.nyctaxi.trips
)
SELECT day_type, trip_distance
FROM DayType
WHERE day_type = :day_type_param

静的ウィジェットをビジュアライゼーションに追加するには:

  1. ドラフト ダッシュボード キャンバスに視覚化ウィジェットを追加します。

  2. 新しいウィジェットを選択した状態で、設定パネルの データセット のドロップダウンからパラメータ化されたデータセットを選択します。

  3. [フィルターを表示] をクリックします。問題を含むデータセットの場合、構成パネルに 問題 セクションが表示されます。

    パラメーターを選択するオプションを示す視覚化構成パネル。

  4. 「パラメーター」 見出しの右側にあるプラス記号をクリックし、ドロップダウンから「パラメーター」を選択します。

  5. デフォルトでは、パラメーターの値は [データ] タブのクエリに設定されている内容を反映しています。 それをそのままにしておくか、データセットに代入する新しい値を選択できます。 テキスト フィールドから移動して、新しいパラメーターが適用された視覚化を表示します。

  6. ダッシュボードを確認します。

    次の画像は 2 つの視覚化ウィジェットを示しています。それぞれは静的ウィジェットを備えたヒストグラムとして構成されています。 左側のグラフは平日に始まる旅行の移動距離の分布を示しており、右側のグラフは週末の同じデータを示しています。両方の視覚化は同じデータセットに基づいています。

    説明したように、静的なウィジェット レベルを使用するように構成された 2 つのヒストグラム。

フィルター条件を使用してデータを比較する

フィルター条件を追加して、データの一部に対する集計を、データ セット全体に適用された集計と比較することができます。

次の例では、前のクエリを拡張して、指定された 引数 値がAllであるがデータには表示されないフィルター条件を含めます。 フィルター条件の最初の部分は前の例と同じように機能し、 day_typeWeekdayまたはWeekendのいずれかである結果をフィルターします。フィルター条件の 2 番目の部分では、 自体が、データに表示されない特定の値 (この場合はAllに設定されているかどうかを確認します。 データセット エディターでその問題に対する安全値を設定すると、 WeekdayWeekend値として渡されない場合、実質的にフィルターをバイパスすることになります。

SQL

WITH DayType AS (
SELECT
CASE
WHEN DAYOFWEEK(tpep_pickup_datetime) IN (1, 7) THEN 'Weekend'
ELSE 'Weekday'
END AS day_type,
trip_distance
FROM
samples.nyctaxi.trips
)
SELECT
day_type,
trip_distance
FROM
DayType
WHERE
day_type = :day_type_param
OR :day_type_param = 'All'
注記

この例では、単一値のカスタム文字列値 ( 'All' ) を使用します。ここで、「All」は静的オプションとして定義されています。 複数選択の場合は、代わりにOR :parameter IS NULLを使用して「すべて」の選択を処理します。 「複数選択を許可する」を参照してください。

このデータセットを使用して、 day_type_paramをそれぞれAllWeekdayWeekendに設定して、3 つの視覚化ウィジェットを構成できます。次に、ダッシュボードの閲覧者は、日付タイプ別にフィルタリングされた各データセットをデータセット全体と比較できます。

次の GIF は、このクエリで作成されたデータセットから 3 つのグラフをすばやく作成する方法を示しています。

  1. 最初のグラフは、 Day Type データセット別の Trip Distances を 表示するように構成されており、その値は Weekday に設定されています。
  2. 適用されたすべての構成を維持するためにチャートを複製します。
  3. 週末に行われた旅行のデータを表示するには、静的を Weekend に調整します。
  4. 以前に適用されたすべての構成を維持するには、新しいチャートを複製します。
  5. 新しいグラフの「不安」を 「すべて 」に設定すると、週末と平日の旅行の合計旅行数が距離ごとに表示されます。

前のテキストで説明した gif。

ダッシュボードに問題を表示する

ダッシュボード キャンバスにフィルターを追加すると、閲覧者は 値を選択して変更し、インタラクティブにデータを探索および分析できるようになります。 ダッシュボードで問題を公開しない場合、閲覧者には、クエリで設定した問題の値を使用するクエリ結果のみが表示されます。

パラメーターをダッシュボードに追加するには:

  1. クリックフィルターアイコン フィルター (フィールド/問題) を追加します
  2. コンフィギュレーションパネルにあるフィールドアイコンを追加の隣の パラメーター をクリックします。
  3. このウィジェットでビューアが使用するパラメーター名をクリックします。

フィルターウィジェットと静的問題の操作

問題は、実行時にクエリに代入される固定値です。 ダッシュボードの更新時に、同じ論点への 2 つ以上の参照が異なる値で設定されている場合、視覚化ウィジェットには、どの論点に矛盾する値があるかを示すエラーが表示されます。 これは、複数のフィルタ ウィジェットが同じ問題を使用する場合、または静的な問題がビューアの選択を許可するフィルタ ウィジェットと競合する場合に発生する可能性があります。

次の例のようなパターンを使用して、同じクエリ内の異なる にフォールバック値を設定できます。

SQL

CASE WHEN :static_param != 'All' THEN :static_param ELSE :dash_param END

この例では、 :static_param静的変数を指します。これは、視覚化ウィジェットとデータセット エディターの両方で「すべて」に設定する必要があります。 パラメーター:dash_paramは、ダッシュボード キャンバス上のフィルター ウィジェットによって制御される動的な値です。このステートメントは、静的として提供された値をチェックします。 何も設定されていない場合は、閲覧者が選択したダッシュボード値に戻ります。

URLに「問題」を含める

問題設定は URL に保存されるため、ユーザーはそれをブックマークして、事前設定されたフィルターや問題を含むダッシュボードの状態を維持したり、他のユーザーと共有して同じフィルターや問題を一貫して適用したりできます。

ダッシュボードのクエリ vs. Mustache クエリの違い

ダッシュボードでは、名前付きマーカーと同じ構文を使用します。 「名前付きマーカー」を参照してください。 ダッシュボードは Mustache スタイルをサポートしていません。

構文例

問題の一般的な用途には、日付、数値、テキスト、データベース オブジェクト、 JSON文字列からの値の挿入などが含まれます。 このような場合に 問題 を使用する方法を示す例については、 「名前付き問題の構文の例」を参照してください。

重要

閲覧者がテーブル名やカタログ名などの選択を通じてデータにアクセスできるようにすると、機密情報が誤って漏洩する可能性があります。 これらのオプションを使用してダッシュボードを公開する場合、Databricks では公開されたダッシュボードに資格情報を埋め込まないことをお勧めします。