みなさん、こんにちは。小寺です。
QuickSightのデータセットにパラメータ機能が追加され、カスタムSQLがより柔軟に利用できるようになりました。

https://aws.amazon.com/about-aws/whats-new/2023/05/amazon-quicksight-dataset-parameters-slicing-dicing-experiences/

Amazon QuickSightとは

Amazon QuickSight は、クラウド規模のビジネスインテリジェンス (BI) サービスで、サーバーやインフラを使わずに簡単にインサイトを作成して提供することができるサービスです。
QuickSightの特徴としては、以下が挙げられます。簡単にこちらにもまとめています。
・SPICE と呼ばれるインメモリエンジンにより読み込みがスピード
・ライセンスの前払いコストが不要で、総保有コスト (TCO) を抑えられる。読み取り権限なら月額5USD
・アプリケーションのインストールが不要
・さまざまなデータを 1 つの分析に結合します。
・分析をダッシュボードとして公開し共有でき、他のサイトに簡単に埋め込みできます。
・ダッシュボードで提供する機能を制御できます。
・データベースの詳細なアクセス許可を管理する必要がなく、ダッシュボードを見る人は管理者によって付与されたアクセス権のあるものだけを見ることができます

アップデート内容

今までのQuickSightのデータセットには「パラメータ」という概念はありませんでした。ここで、新しくパラメータという概念が発表されています。

本アップデートの経緯としては、利用者からの複雑なカスタムSQLが使われている BIツールを移行するときの機能改善の要望を受けてとのことです。

後ほど試してみますが概要としては、直接クエリでデータセットパラメータを使って、データセットを動的にカスタマイズし、再利用可能なロジックをまたデータセットに適用することができます。
この新しい概念である「データセット パラメーター」を分析パラメータでコントロール、計算フィールド、フィルター、アクション、URL、タイトル、および説明で利用します。

使ってみる上での制限事項

いくつか制限事項があるので、注意事項として抜粋しています。
・電子メールにレポート添付する場合、「データセット パラメーター」はレポートには反映されません。
・「データセット パラメーター」は、SPICE に保存されているデータセットのカスタム SQLには利用できないことがあります。
・データセット レベルで動的デフォルトを構成することはできません。
・データセットが直接クエリを使うとき、「データセット パラメーター」はフィルターでのみ利用できます。

試してみた~データセットパラメータを作ってみる~

(1) データセットを選び、「データセットの編集」をクリックします。

(2) サイドメニューに「パラメータ」が新しく表示されています!

(3) パラメータを追加すると、分析のパラメータと同様にパラメータの基本情報が入力できます。
データタイプとしては「文字列」、「整数」、「数値」、「日時」から選ぶことができます。また、データセットパラメータでは静的デフォルト値が必須入力となっています。

データセットパラメータをクエリに埋め込むには

SQL文で <<$parameter_name>> を使用してパラメータ参照することにより、ダイレクト クエリ モードでデータセットのカスタム SQL に「データセット パラメーター」を挿入できます。
(1) <<$パラメータ名>> でクエリ内に埋め込みすることができます。

(2) 例えば、一つの値を返す場合、先ほど設定したパラメータ名を「RegionName」とします。

 SELECT *
FROM transactions
WHERE region = <<$RegionName>>

(3) 複数の値を返す場合は以下のようなカスタムSQLで利用できます。

 SELECT *
FROM transactions
WHERE region in (<<$RegionNames>>)

データセットパラメータを計算フィールドで使ってみる

計算フィールドでも同様に${parameter_name}を利用することができます。
複数値パラメーターを含む計算フィールドの作成はできないので、要注意です。

データセットパラメータを分析で使ってみる

分析の [パラメーター] ペインで、データセット パラメーターを管理することができます。
(1)データセットパラメータを作ったデータセットを分析に追加すると、以下の通りマッピングされていないデータセットパラメータが存在しているという警告が表示されます。

(2)実際に分析用に使う用のデータセットとマッピングされた、パラメータを新規設定してみます。

(3)「Mapped Dataset Parameters」からマッピング設定を行います。
ここでは、データセットのEventsパラメータを「analyticsevent」に紐づけしました。

(4)「パラメータが追加されました」画面が表示されます。

(5)コントロールにパラメータを追加するには分析ページの [パラメーター] ペインで、コントロールの追加を行います。

(6) 先程と同様にコントロールを経由して、パラメータ値を入力すると、testコントロールに値が設定され、その値を使ってダイレクトクエリが発行されます。
データセットと分析パラメータでマッピングされてカスタム SQL が生成されるようになります。そのため、分析側で追加のフィルターの作成は不要です。

対象リージョン

データセットパラメータは、スタンダードエディションとエンタープライズエディションで利用ができ、以下のリージョンで利用が可能です。
・US East (N. Virginia and Ohio)
・US West (Oregon)
・Canada
・Sao Paulo
・Europe (Frankfurt, Ireland and London)
・Asia Pacific (Mumbai, Seoul, Singapore, Sydney,Tokyo)
・AWS GovCloud (US-West)

まとめ

Amazon QuickSightのデータセットにパラメータが追加されたので、試してみました。 ダイレクトクエリにより自動生成される部分にカスタマイズが柔軟にできるようになったことはメリットの一つですよね。東京リージョンにも対応していますし、活用していきたいと思います!

SunnyCloudでは、Amazon QuickSightの「サービスデリバリープログラム」認定を日本国内で初めて取得しました。(こちらの記事をご参照ください)

このサービスデリバリープログラムの認定は、株式会社アイディーエスが提供しているAWS導入支援サービスである「サニークラウド(Sunny Cloud)」において、AWSのデータ分析サービスである「Amazon QuickSight」の導入実績や技術力が評価されたもので、日本のAWSパートナーネットワーク(以下、APN)のコンサルティングパートナーとしては初めての認定取得です。

ぜひ、データ分析に興味のある方はこちらまでお問い合わせください!