キャリアパフォーマンスデータが複数のリージョンにまたがる場合、ダッシュボードは単一のビュー内で根本的に異なる競争構造を調整する必要があります。例えば、米国では49の州と数百の都市市場で3つのキャリア(キャリア1〜3)をランク付けします。英国では、異なる国の地域セットで4つのキャリア(キャリア4〜7)を比較しています。課題は地理的なものだけでなく、構造的なものでもあります。
キャリア数、市場密度、地域詳細の違いにより、単一の標準チャートタイプでは完全なストーリーを伝えることはできません。誰がリードしているか、どの程度の差か、一貫性はどうか、改善しているか低下しているかといった、階層的な質問に同時に答える可視化が必要です。
これらの質問に大規模に答えようとすると、ネイティブのAmazon QuickSight可視化では完全なストーリーを伝えられないことがわかります。QuickSightはどのキャリアまたはキャリアの組み合わせが各地理タイルを支配しているかをエンコードできません。7つのキャリアすべてを7つのパフォーマンスカテゴリで同時にプロファイリングするレーダーチャートをレンダリングできません。また、データのニュアンスを表面化するために必要なバレットチャートやダンベルチャートなどのチャートタイプを生成できません。
ネイティブQuickSightでこれらのビジュアルを近似しようとするたびに、リージョンごとに個別のダッシュボードを構築し、差分には積み上げ棒グラフの回避策を使用し、キャリアの最良と最悪の市場間の変動を隠す指標を平均化することになります。これらの妥協はメンテナンスのオーバーヘッドを追加し、ステークホルダーが自信を持ってデータ駆動型の意思決定を行うために必要な洞察を不明瞭にします。
HighchartsをQuickSightのカスタムビジュアルとして埋め込むことで、単一の統一されたJSON設定でこれらの制限に対処できます。タイルマップチャートタイプとcolorAxis.dataClassesを使用すると、複数のリージョンにわたるキャリアの支配(マルチキャリアの同点を含む)を1つのビジュアルでエンコードでき、リージョンフィルタリングの凡例トグルも利用できます。極線チャートは、マルチキャリア、マルチカテゴリの比較のための真のポリゴンレーダーをレンダリングし、完全な競合プロファイルを提供します。
地理的およびレーダービューに加えて、Highchartsは分析に必要なチャートタイプを解放します。バレットチャートを使用して100ポイントの目標に対するパフォーマンスを色分けゾーンで表示し、ダンベルチャートでキャリアの最良と最悪の都市市場間の広がりを明らかにし、ウォーターフォールチャートで期間ごとのスコア変化を分解できます。
この記事では、Highchartsカスタムビジュアライゼーションを使用してQuickSightでマルチリージョンのキャリアパフォーマンスダッシュボードを構築し、ネイティブチャートの制限を克服する方法を紹介します。QuickSightのフェデレーションデータセット機能を通じて、AWSリージョン間でデータ主権を維持しながら、統一された可視化を作成する方法を学びます。このソリューションには本番環境対応のチャート設定が含まれており、セキュリティ、コンプライアンス、スケーラビリティの要件に対応します。
ソリューション概要
アーキテクチャは、データ保存要件、レイテンシーニーズ、コンプライアンス義務などの要因によって異なります。2つのアーキテクチャパターンがこれを解決します。
オプション1:単一AWSリージョン
このアプローチでは、キャリアデータ(米国と英国の両方など)を1つのAWSリージョン(us-east-1やeu-west-1など)に保存し、単一のQuickSight SPICEデータセットを使用して、国列でデータを論理的に識別します。
このアーキテクチャは管理が简单(1つのデータセットと1つのSPICE更新)ですが、潜在的な欠点があります。米国ベースのリージョンを選択した場合、データが物理的に英国外に存在することになり、データセットに個人識別情報が含まれている場合、英国GDPRやデータ保存ルールに違反する可能性があります。
オプション2:国ごとの独立したAWSリージョン
データ主権法では、データを収集した法域内で特定のカテゴリのデータ(特に個人、ネットワーク使用パターン、商業的に機密性の高いパフォーマンスメトリクスに関するデータ)を物理的に保存および処理することが要求される場合があります。例えば、英国のキャリアデータの場合、英国GDPRは、英国の消費者と英国のネットワークパフォーマンスに関する個人および業務上機密のデータは、英国またはより広い欧州経済領域内のインフラに保存することを義務付けています。つまり、米国のキャリアデータは米国のAWSリージョン(us-east-1やus-west-2など)に、英国のキャリアデータはEU準拠のリージョンに配置し、生データをそれらの境界を越えて混在させてはなりません。2つのデータセットは主権的です。単一のAmazon S3バケットにそれらをマージすることは、一方または両方の管轄区域の要件に違反することなく実行できません。
データが別々のAWSリージョンに存在するにもかかわらず、QuickSightアーキテクチャを使用して、生データを国境を越えて移動することなく単一の統一されたHighchartsダッシュボードを構築できます。ストレージ層ではなくQuickSight層でフェデレーションデータセット結合を使用します。つまり、集約された米国データセット(us-east-1)と集約された英国データセット(eu-west-2)をそれぞれのリージョンのSPICEインスタンスに取り込み、Amazon QuickSightのデータ準備機能がデータ準備時にそれらを単一の論理データセットに追加します。結果として得られる統一データセットは、マルチリージョンのキャリアを一緒にレンダリングするHighcharts設定(タイルマップ、レーダー、バレット、ダンベル、ウォーターフォール、ストリームグラフ)の単一セットを供給します。生の主権データはそのホームリージョンを離れません。各リージョン内で計算された集約RootScore、ランク、ColorValueメトリクスのみを統一ビューにフェデレーションし、データ保存要件を満たしながら、ダッシュボードが必要とする組み合わせ可視化を可能にします。
オプション1はほとんどのシナリオに適していますが、この記事では、電気通信会社が頻繁に直面するより複雑な要件に対処するため、オプション2を詳しく説明します。
ソリューションアーキテクチャ
次の図は、マルチリージョンアーキテクチャがデータ主権を維持しながらキャリアパフォーマンスデータをフェデレーションする方法を示しています。2つのリージョナルデータパイプライン(米国キャリアデータ用のus-east-1と英国キャリアデータ用のeu-west-2)が、それぞれのリージョン内でパフォーマンスメトリクスを個別に集約します。QuickSight層では、データ準備機能がクエリ時にこれらの集約データセットを単一の論理データセットにフェデレーションします。この統一データセットがHighchartsカスタムビジュアルに供給され、生データを国境を越えて移動することなく、組み合わせたマルチリージョンダッシュボードを可能にします。
前提条件
開始前に、以下があることを確認してください:
- QuickSightにアクセスできるAWSアカウント。
- 複数のAWSリージョンにわたって設定されたデータソース。
- QuickSightダッシュボードとデータ統合に関する基本的な知識。
- HighchartsのJSON設定に関する理解。
- リージョン間でデータソースにアクセスするためのAWS Identity and Access Management(IAM)権限。
データ準備
複数のリージョンからデータを集約するには、QuickSightでデータソースを設定します。このステップは、クロスリージョンデータ検索を可能にする接続を確立するのに役立ちます。
- QuickSightコンソールで、左側のナビゲーションパネルから「データセット」に移動します。
- 「データソースを作成」を選択して、最初のリージョンデータソースを追加します。
- データソースのタイプ(Amazon S3、Amazon RDS、またはその他のデータソース)を選択します。
- 最初のリージョンの接続詳細(エンドポイントURLや認証資格情報を含む)を入力します。
- 「接続を検証」を選択して、データのアクセス可能性を確認します。
- 接続を検証した後、「データソースを作成」を選択します。
- 分析に含める追加のAWSリージョンごとに手順2〜6を繰り返します。
リージョンデータソースを設定した後、それらを統一データセットに結合できます。
データ集約と変換の設定
データソースを接続した後、複数のリージョンからのデータを結合するための集約ルールを設定します。このステップは、一貫したデータフォーマットを維持し、統一された分析を生成するのに役立ちます。
- QuickSightで「データセット」を選択します。
- 「データセットを作成」を選択します。
- 前のセクションで登録したデータソースの1つとその関連スキーマを選択します。
- 「データを編集/プレビュー」を選択します。
- データ準備インターフェースで、「データを追加」を選択します。
- リストから2番目のリージョンデータソースを選択します。
- 「追加」を選択してデータセットを垂直に積み重ねます。
- データセット間で列名が一致していることを確認します(必要に応じて名前を変更します)。
- 「Region」という名前の計算フィールドを追加して、データの出所を識別します(例:IF(condition, 'US', 'UK'))。
- 結合されたデータセットをプレビューして、行数を確認します。
- 必要に応じて、計算フィールドを追加して、リージョン間のデータ形式を正規化します(例えば、タイムスタンプを共通のタイムゾーンに変換)。
- 「保存して公開」を選択して、集約データセットを公開します。
- データセットを公開した後、このデータセットの「スケジュール更新」で更新スケジュールを設定し、集約データを最新に保ちます。
- ビジネス要件に基づいて頻度を設定します(毎時、毎日、または毎週)。
これで、集約データセットを使用してHighcharts可視化を作成できます。
Highcharts可視化のためのクロスリージョン分析データの設定方法については、マルチリージョン分析ソリューションの構築に関するチュートリアルを参照してください。
データセット概要
このチュートリアルで使用されるキャリアパフォーマンスデータセットには、2か国(英国、米国)にわたる7つのキャリアのレコードが含まれています。データセットには、7つのパフォーマンスカテゴリ(通話、データ、全体、信頼性、応答性、テキスト、ビデオ)と、2つの測定期間(2024年下半期、2025年上半期)のランキングとRootScoreメトリクスが含まれています。
データセットスキーマは次の属性で構成されています:
| フィールド | 説明 | |----------|------| | carrier | キャリアID(例:Carrier1〜Carrier7) | | category | パフォーマンスカテゴリ(通話、データ、全体、信頼性、応答性、テキスト、ビデオ) | | country | 測定国(米国、英国) | | rank | その市場とカテゴリ内の競争ランキング(1〜4) | | rootscore | パフォーマンススコア(0〜100スケール) | | product_period | 測定期間(2024-2H、2025-1H) |
次の表は、データセットの代表的なサンプルを示しています:
| carrier | category | country | rank | rootscore | product_period | |---------|----------|---------|------|-----------|----------------| | Carrier1 | Call | USA | 1.0 | 99.53 | 2024-2H | | Carrier1 | Call | USA | 1.0 | 98.08 | 2024-2H | | Carrier1 | Call | USA | 1.0 | 82.18 | 2024-2H | | Carrier1 | Call | USA | 1.0 | 99.99 | 2024-2H | | Carrier1 | Call | USA | 1.0 | 98.79 | 2024-2H | | Carrier1 | Call | USA | 1.0 | 98.37 | 2024-2H | | Carrier1 | Call | USA | 1.0 | 99.96 | 2024-2H | | Carrier1 | Call | USA | 1.0 | 99.12 | 2024-2H |
動的フィールドウェルバインディングの理解
この記事のコードブロックは、プレースホルダートークン({{token}})を使用してデータがデータセットから動的に流れる方法を示しています。これらのトークンは、特定のデータセットクエリにマッピングされます。
各コードブロックには2つのコンポーネントが含まれています:
- フィールドウェルマッピングは、どのデータセットフィールド(carrier、category、rootscore、rank、product_period、country)がどのフィールドウェルにマッピングされるかを指定します。これらは、データがデータセットからチャートにどのように流れるかを定義します。
- JSONテンプレートはプレースホルダートークン(例:{{carrier_list}}や{{avg_rootscore_period_1}})を使用し、QuickSightフィールドウェルエンジンがレンダリング時に解決します。各チャートの後のマッピング凡例は、各プレースホルダーが何に解決されるかを文書化しています。
Highcharts実装チュートリアル
このセクションでは、ネイティブQuickSightビジュアルだけでは満たせないマルチリージョンのキャリア分析要件に対処するHighcharts可視化について順を追って説明します。コードに入る前に、次の要件テーブルを確認してください。各可視化をHighchartsチャートタイプにマッピングし、ビジュアルが達成しなければならないことを要約し、なぜ組み込みのQuickSightチャートタイプで同じ結果を達成できないかを説明します。後続の各チャートには、QuickSight Highchartsカスタムビジュアルに直接コピーできる完全なJSON設定と、期待される出力を示すレンダリングプレビューが含まれています。各設定はQuickSightフィールドウェルに動的にバインドされ、キャリア名やリージョン値をハードコーディングしないため、これらの例を独自のデータセットに適合させることができます。