Amazon QuickSight の URL アクション機能でフィールド名に [] が含まれた URL リンクを作成するときの対処方法
Amazon QuickSight のテーブル形式には、URL アクションという便利な機能があります。テーブルをクリックするだけでデータセットのフィールドの値を利用して任意の Web サイトにリンクできます。しかし、この機能を使う際にフィールド名に[]
が含まれていると期待した動作になりませんでした。本記事ではその原因と対処方法を紹介します。
原因と回避方法早見
URL アクションでフィールド名をパラメータとして URL を生成する場合が本件の対象です。
フィールド名に[]
が含まれていると URL アクションが正しく機能しませんでした。この問題を回避するには以下の方法があります。
- 別名のフィールドを作成する(個人的なオススメ)
- データセットのフィールド名から
[]
を削除する
URL アクションの動作について
サンプルデータのテーブルを使用して、URL アクションの期待される動作を説明します。テーブルのカラム名はデータセットのフィールド名です。local
フィールドの値をて Google で検索する URL アクションを作成します。
テーブルのプロパティを開き、インタラクションからアクションを追加します。今回は右クリックのメニューに独自のアクションを追加するメニューオプションタイプで作成します。URL アクションで URL にデータセットのフィールド名を指定しています。フィールド名の入力書式は<<フィルード名>>
です。詳細は以下のドキュメントを参照してください。
右クリックすると URL アクション名が追加されています。
表示された Google 検索をクリックすると、選択した行のlocal
フィルードの値を使用して Google 検索できます。
問題となるフィールド名と回避方法について
フィールド名に[]
が含まれている場合、URL アクションが正しく機能しません。この問題を回避する 2 つの方法があります。
問題の詳細
URL アクションでは、フィールド名に[]
が含まれていると正しくエンコーディングされずに URL アクションが機能しませんでした。具体例を紹介します。
name[city]
フィールドの値を使用した URL アクションを作成します。
URL アクションの URL の箇所を<<local>>
から<<name[city]>>
に変更しました。
右クリックから Google 検索した結果が以下です。URL クエリパラメータとして値を渡せていない様です。
ドキュメントを確認しても使用できない文字列などの情報はありませんでした。試行錯誤した結果、わかったことは[]
は使用できないということでした。
回避方法 1: 別名のフィールドを新規作成
同じ値を持った別名のフィールドを新規作成する。
フィールド名に[]
がなければよいので、計算フィールドで新規のフィールドを作成します。中身はこのようにフィールドの値をコピーをしているだけです。
新規作成したフィールドをテーブルに追加しました。
今度は<<name[city]>>
から新規作成の<<city>>
に変更しました。
URL クエリパラメータとして値を渡せすことができ、Google 検索に成功しました。
回避方法 2: フィールド名の変更
データセット内のフィールド名から[]
を削除する。
正攻法の様に思えますが、データセットを変更しないといけません。修正コストが高いため、既存のデータセットではあれば回避方法 1 をオススメします。
まとめ
QuickSight の URL アクションでは、フィールド名に[]
が含まれている場合に問題が発生します。この問題を回避するには、別名のフィールドを作成するか、データセットのフィールド名から[]
を削除する必要があります。別名フィールドの作成が個人的には推奨です。
おわりに
ドキュメントに使えない文字列の記述がなかったので、なにが原因なのか切り分けしないといけなく時間かかりました。どなたかの時間を節約できればと思いまとめました。