
Omni のビジュアライゼーションにリンクを追加して外部サイトや別ダッシュボードに飛べるようにしてみた
こんにちは、ikumiです。
Omni の Explore やダッシュボードでデータを見ているとき、「このブランド名をクリックして詳細を調べたい」「この顧客 ID から別のダッシュボードに飛びたい」という場面があります。
links パラメータを使うと、フィールドの値をもとにした URL を動的に生成し、ビジュアライゼーションのセルにリンクを設置できます。今回は 外部リンク(Google 検索)とダッシュボード間リンク(フィルター付きで別ダッシュボードへ遷移)の2つを試してみました。
機能概要
links パラメータは、ディメンションの定義に追加することで、そのフィールドのセルにリンクを設置できます。URL の中に ${} 構文でフィールド値を埋め込めるため、行ごとに異なる URL を動的に生成できます。
dimension_name:
links:
- url: https://example.com/search?q=${view_name.field_name}
label: リンクのラベル
icon_url: https://example.com/icon.png # 任意
試してみた
事前準備
今回は事前に用意してあるbrand_ana__tran ビューのファイルを編集します。
1. 外部リンクを設定する(Google 検索)
brand ディメンションをクリックしたときに Google 検索が開くリンクを設定します。
tran.view.yaml の brand ディメンションに links: を追加します。
dimensions:
brand:
sql: '"BRAND"'
links:
- url: https://www.google.com/search?q=${brand_ana__tran.brand}
label: Google で検索
${brand_ana__tran.brand} の部分が行ごとのブランド名に置き換えられ、クリックすると対応するブランド名で Google 検索が開きます。
ダッシュボードでbrandのセルにリンクアイコンが表示されていれば問題ありません。

リンクアイコンをクリックし、Google で検索 を選択します。対応するブランド名で Google 検索が新しいタブで開けば完了です。
2. ダッシュボード間リンクを設定する(フィルター付き遷移)
brand ディメンションをクリックしたときに、そのブランドで絞り込んだ状態の別ダッシュボードに遷移するリンクを追加します。
tran.view.yaml の brand ディメンションに、先ほどの外部リンクと合わせてダッシュボードリンクを追加します。
dimensions:
brand:
sql: '"BRAND"'
links:
- url: https://www.google.com/search?q=${brand_ana__tran.brand}
label: Google で検索
- url: /dashboards/YOUR-DASHBOARD-ID?f--kn0K1kIg=%7B%22values%22%3A%5B%22${brand_ana__tran.brand}%22%5D%7D
label: ブランド詳細ダッシュボード
target: blank
この際、YOUR-DASHBOARD-ID は遷移先ダッシュボードの ID に書き換えてください。また、URLの中身は遷移先ダッシュボードで実際にフィルターを適用した状態のブラウザ URL を確認するなどの方法で取得してください。
ダッシュボード上で、brand セルのリンクアイコンをクリックします。Google で検索 と ブランド詳細ダッシュボード の2つが表示されていれば問題ありません。

ブランド詳細ダッシュボード を選択し、対象ブランドで絞り込まれた状態のダッシュボードが開けば完了です。

最後に
Omni の links パラメータを使って、フィールド値をもとにした外部リンクとダッシュボード間リンクをビジュアライゼーションに設置してみました。
モデルに1〜数行追加するだけで設定でき、URL の ${} 部分が行ごとの値に自動で置き換わる点が便利です。1つのフィールドに複数のリンクを設置できるので、「Google 検索」と「社内ダッシュボード」を並べて設置するといった使い方もできます。
ダッシュボード間のリンクはフィルターを URL に含める形で渡せるため、サマリーダッシュボードから詳細ダッシュボードへのドリルダウン導線を作りたい場面でぜひ試してみてください。









