• 製品
  • 関連ドキュメント
  • リソース

Visual SQL でクエリ外の変数コントロールを接続する

ほとんどの場合、クエリでコントロールを参照することで、コントロールをチャートに接続します。これが最も簡単な方法ですが、実際には Visual SQL の他のステップでもコントロールを接続できます。

クエリ外でコントロールを接続する利点の 1 つは、データ ソースのパフォーマンスが向上することです。コントロールがクエリ自体で接続されている場合、ダッシュボード ビューアーでコントロールの値が更新されるたびに、新しいクエリがデータ ソースに送信されます。クエリ外でコントロールを接続すると、クエリ以外のステップで実行された計算と変換がキャッシュされたクエリ結果に適用されるため、コントロールの値が変更されるたびに新しいクエリがデータソースに送信されることはありません

クエリでのフィルタリングとは異なり、コントロールを接続する列が結果セットに存在する必要があります。コントロールを接続した後に結果セットでその列が必要なくなった場合は、いつでも列を非表示にできます。「列を非表示にする」ステップの詳細をご確認ください。

「日付バケット」コントロールを接続する

クエリ以外のステップで「日付バケット」コントロールを接続する方法は次のとおりです。

  1. クエリにある元の日時列で [] タイム バケットを使用していることを確認します。使用していない場合、このプロセスは機能しません。集計メニューを使用してタイム バケットを変更する方法の詳細をご確認ください。

  2. 日時列の [Apply formula (数式の適用)] ステップを選択します。

    1. 数式の種類として [カスタム] を選択します。

    2. 次の CASE 文を使用します。

      1 2 3 4 5 6 7 8 9 10 case when {DATE_BUCKET_NAME}='minute' then strftime('%Y-%m-%d %H:%M', "Column_Name") when {DATE_BUCKET_NAME}='hour' then strftime('%Y-%m-%d %H:00', "Column_Name") when {DATE_BUCKET_NAME}='date' then strftime('%Y-%m-%d',"Column_Name") when {DATE_BUCKET_NAME}='week' then datepart("Column_Name", 'year')||'-W'||((strftime('%j', date("Column_Name", '-3 days', 'weekday 4')) - 1) / 7 + 1) when {DATE_BUCKET_NAME}='month' then strftime('%Y-%m',"Column_Name") when {DATE_BUCKET_NAME}='year' then strftime('%Y',"Column_Name") when {DATE_BUCKET_NAME}='quarter' then strftime('%Y', "Column_Name")||'-Q'||((datepart("Column_Name", 'month')+2)/3) else "Column_Name" end
    3. [保存] を選択します。

  3. [Group & aggregate (グループと集計)] ステップを選択します。

    1. 日時列に [グループ] を選択して、その他の列に適切な集計を選択します。

    2. [保存] を選択します。


「ドロップダウン」コントロールを接続する

「ドロップダウン」コントロールに [複数選択] が選択されていない場合は、次の手順に沿ってクエリ外に接続します。

  1. [フィルター] ステップを選択します。

  2. 列に次のフィルター条件を追加します。

    1 "Column_Name" = {DROPDOWN_NAME}
  3. [保存] を選択します。

「ドロップダウン」コントロールに [複数選択] が選択されている場合は、次の手順に沿ってクエリ外に接続します。

  1. [フィルター] ステップを選択します。

  2. 列に次のフィルター条件を追加します。

    1 "Column_Name" is one of {DROPDOWN_NAME}
  3. [保存] を選択します。

「フィルター」ステップで複数選択の「ドロップダウン」コントロールを接続しても、[すべて表示] 設定は処理されません。この設定を反映させるには、クエリ以外で複数選択の「ドロップダウン」コントロールを接続する別の方法を使用する必要があります。クエリ以外で「すべて表示」設定を有効にして、複数選択の「ドロップダウン」コントロールを接続する方法の詳細をご確認ください。


「テキスト入力」コントロールを接続する

「テキスト入力」コントロールに [複数の値] が選択されていない場合は、次の手順に沿ってクエリ外に接続します。

  1. [フィルター] ステップを選択します。

  2. 列に次のフィルター条件を追加します。

    1 "Column_Name" = {TEXT_INPUT_NAME}
  3. [保存] を選択します。

「テキスト入力」コントロールに [複数の値] が選択されている場合は、次の手順に沿ってクエリ外に接続します。

  1. [フィルター] ステップを選択します。

  2. 列に次のフィルター条件を追加します。

    1 "Column_Name" is one of {TEXT_INPUT_NAME}
  3. [保存] を選択します。

複数選択の「ドロップダウン」コントロールと同様に、「フィルター」ステップで複数の値の「テキスト入力」コントロールを接続しても、[すべて表示] 設定は処理されませんクエリ以外で「すべて表示」設定を有効にして、複数の値の「テキスト入力」コントロールを接続する方法の詳細をご確認ください。

「テキスト入力」コントロールでワイルドカードを使用している場合、それらをクエリ外に接続するにはもう少し作業が必要です。ワイルドカードを使用する「テキスト入力」コントロールの接続方法をご確認ください。


「カレンダー」コントロールを接続する

「カレンダー」コントロールの [データ タイプ] が [日付] の場合は、次の手順に沿ってクエリ外に接続します。

  1. [フィルター] ステップを選択します。

  2. 列に次のフィルター条件を追加します。

    1 "Column_Name" = {CALENDAR_NAME}
  3. [保存] を選択します。

「カレンダー」コントロールの [データ タイプ] が [日付範囲] の場合は、次の手順に沿ってクエリ外に接続します。

  1. [フィルター] ステップを選択します。

  2. 2 つのフィルター条件を追加します。1 つは開始日、もう 1 つは終了日に対する条件です。

    1. 開始日:

      1 "Column_Name" >= {CALENDAR_NAME.START}

       

    2. 終了日:

      1 "Column_Name" <= {CALENDAR_NAME.END}
  3. [保存] を選択します。

 

その他のヘルプ