ダッシュボードページテンプレートにグローバルフィルターを渡す

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:2分
  • グローバルフィルターはダッシュボードに送信され、ダッシュボード内の可視化のフィルターとして機能します。これらのフィルターは、ダッシュボード内の既存のフィルターと結合されます。

    このタスクについて

    グローバルフィルターは、ターゲットダッシュボードの可視化に適用されるフィルターです。これらのフィルターは、関連するすべてのデータ可視化に適用されます。globalFilter に渡される値の形式は、{encodedQueries: 'encoded-queries-string', filters: 'PAR-Filter'} の文字列化された形式です。encodedQueries とフィルターの両方が内部で プラットフォームアナリティクス フィルターに変換され、ダッシュボードの既存のフィルターとマージされます。
    encodedQueriesfilters、またはその両方を指定できます。次の例では、同等の encodedQueries 値と フィルター 値の両方で、ステータスフィールド値 1 または 2 に基づいてインシデント [incident] テーブルのレコードを表示する可視化がフィルター処理されます。
    JSON.stringify({
        encodedQueries: {incident: 'stateIN1,2'},
        parFilters: [{ order: 0, apply_to: ['incident.state'], values: ['1', '2'] }]
    })

    既にフィルタリングされているダッシュボードを開くには、 UI ビルダー ページでダッシュボードへのリンクを構成します。

    始める前に

    必要なロール:admin

    手順

    1. グローバルフィルターを追加する UI ビルダー に移動します。
    2. ページ上のハイパーリンクまたはボタン (またはその他) の動作を、指定したsys_IDのダッシュボードを指すように構成します。
      この例では、sys_IDは 1238 です。

      showInfoMessage パラメーターは、true の場合、フィルターが渡されたときに、設定された infoMessage をリンクされたダッシュボードに表示します。

      api.emit('NAV_ITEM_SELECTED', {
              route: 'dashboards',
              params: {
                  sysId: '1238',
                  unifiedFilters: JSON.stringify({
                      showInfoMessage: true, // default false
                      infoMessage: 'custom info message', // if not passed and if showInfoMessage is true then the default message is displayed
                      encodedQueries: {
                          incident: 'priority=1'
                      },
                  })
              }
          });