當您的運營商績效數據跨越多個區域時,儀表板必須在一個視圖中協調根本不同的競爭結構。例如,在美國,您需要在49個州和數百個都市市場中對三個運營商(運營商1-3)進行排名。在英國,您需要在不同的國家區域中比較四個運營商(運營商4-7)。挑戰不僅是地理上的,更是結構上的。
運營商數量、市場密度和區域細節的差異意味着沒有單一的開箱即用圖表類型可以講述完整的故事。您需要能夠同時回答分層問題的可視化:誰領先、領先多少、一致性如何,以及他們是改善還是下降。
您會發現,當您嘗試大規模回答這些問題時,原生Amazon QuickSight可視化無法講述完整的故事。QuickSight無法編碼哪個運營商或運營商組合主導每個地理圖塊。它無法生成同時展示所有七個運營商在七個績效類別中的雷達圖。也無法生成子彈圖、啞鈴圖等圖表類型,而這些正是您所需的數據細節。
每次您嘗試在原生QuickSight中近似這些可視化時,最終都會按區域構建單獨的儀表板,使用堆疊條形圖作為差值變通辦法,或者平均指標,從而掩蓋運營商最佳和最差市場之間的波動。這些妥協增加了維護開銷,並模糊了利益相關者做出自信、數據驅動決策所需的洞察。
通過將Highcharts作為自定義可視化嵌入QuickSight,您可以用一個統一的JSON配置解決這些限制。利用其瓦片地圖圖表類型和colorAxis.dataClasses,您可以在一個可視化中編碼跨多個區域的運營商主導地位(包括多運營商平局),並通過圖例切換進行區域過濾。其極線圖可生成真正的多邊形雷達,用於多運營商、多類別比較,提供完整的競爭概況。
除了地理和雷達視圖,Highcharts還提供了您的分析所需的其他圖表類型。您可以使用子彈圖顯示相對於100分目標的性能,並帶有彩色分區;使用啞鈴圖展示運營商最佳和最差都市市場之間的差距;使用瀑布圖分解逐期分數變化。
本文向您展示如何使用Highcharts自定義可視化在QuickSight中構建多區域運營商績效儀表板,克服原生圖表限制。您將學習如何通過QuickSight聯合數據集能力維護跨AWS區域的數據主權,同時創建統一的可視化。該解決方案包括生產就緒的圖表配置,並解決安全性、合規性和可擴展性要求。
解決方案概述
您的架構取決於數據駐留要求、延遲需求和合規義務等因素。兩種架構模式可解決此問題:
選項1:單一AWS區域
使用此方法,您將運營商數據(例如美國數據和英國數據)存儲在一個AWS區域(例如us-east-1或eu-west-1)中,使用單個QuickSight SPICE數據集,並通過國家/地區列進行邏輯標識。
雖然此架構管理起來更簡單(一個數據集和一個SPICE刷新),但存在潛在缺陷:如果您選擇基於美國的區域,您的數據物理上位於英國之外,如果數據集包含個人身份信息,則可能違反英國GDPR或數據駐留規則。
選項2:按國家劃分的獨立AWS區域
有時,數據主權法要求您在收集數據的法律管轄區內物理存儲和處理某些類別的數據(特別是關於個人、網絡使用模式和商業敏感績效指標的數據)。例如,對於英國運營商數據,英國GDPR規定有關英國消費者和英國網絡性能的個人和操作敏感數據必須位於英國或更廣泛的歐洲經濟區內的基礎設施上。這意味着您必須將美國運營商數據放置在美國AWS區域(例如us-east-1或us-west-2),將英國運營商數據放置在歐盟區域,且原始數據不能跨邊界混用。這兩個數據集是主權的。您不能將它們合併到單個Amazon S3存儲桶中而不違反一個或兩個司法管轄區的規定。
儘管數據位於不同的AWS區域,但您可以使用QuickSight架構構建統一的高程圖表儀表板,而無需跨邊界移動原始數據。您可以在QuickSight層使用聯合數據集連接,而不是在存儲層:將聚合的美國數據集(在us-east-1中)和聚合的英國數據集(在eu-west-2中)攝取到各自的區域SPICE實例中,然後Amazon QuickSight的數據準備功能在數據準備時將它們附加到一個邏輯數據集中。生成的統一數據集饋送一組Highcharts配置(瓦片地圖、雷達、子彈圖、啞鈴圖、瀑布圖、流圖),這些配置一起渲染多區域運營商。沒有原始主權數據離開其所屬區域。您僅將每個區域內計算的聚合RootScore、排名和ColorValue指標聯合到統一視圖中,既滿足數據駐留要求,又實現了儀表板所需的組合可視化。
雖然選項1適用於大多數場景,但本文詳細介紹了選項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中選擇“數據集”。
- 選擇“創建數據集”。
- 選擇上一步中註冊的數據源之一及其關聯模式。
- 選擇“編輯/預覽數據”。
- 在數據準備界面中,選擇“添加數據”。
- 從列表中選擇第二個區域數據源。
- 選擇“追加”以垂直堆疊數據集。
- 驗證數據集之間的列名稱是否匹配(如有必要,重命名)。
- 添加名為“Region”的計算字段以標識數據來源(例如,IF(condition, 'US', 'UK'))。
- 預覽組合數據集以驗證行計數。
- 根據需要添加計算字段以標準化跨區域的數據格式,例如將時間戳轉換為公共時區。
- 選擇“保存併發布”以發佈聚合數據集。
- 發佈數據集後,在此數據集下的“計劃刷新”中配置刷新計劃,以保持聚合數據最新。
- 根據業務需求設置頻率(每小時、每天或每週)。
現在,您可以使用聚合數據集創建Highcharts可視化。
要了解如何為Highcharts可視化設置跨區域分析數據,請參閲關於構建多區域分析解決方案的演練。
數據集概述
本演練中使用的運營商性能數據集包含跨兩個國家(英國、美國)的七個運營商的記錄。數據集包括七個績效類別(通話、數據、整體、可靠性、響應性、短信、視頻),以及兩個測量期間(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}})從數據集中動態流動,這些標記映射到特定的數據集查詢。
每個代碼塊包含兩個組件:
- 字段井映射指定哪些數據集字段(carrier、category、rootscore、rank、product_period、country)映射到哪些字段井。這些定義了數據如何從數據集流入圖表。
- JSON模板使用佔位符標記(例如{{carrier_list}}和{{avg_rootscore_period_1}}),QuickSight字段井引擎在渲染時解析這些標記。每個圖表後的映射圖例記錄了每個佔位符解析的內容。
Highcharts實現演練
在本節中,您將逐步瞭解解決多區域運營商分析需求的Highcharts可視化,這些需求是原生QuickSight可視化無法獨立滿足的。在深入代碼之前,請查看以下需求表。它將每個可視化映射到其Highcharts圖表類型,總結可視化必須完成的內容,並解釋為何無法使用內置QuickSight圖表類型實現相同結果。每個後續圖表都包含一個完整的JSON配置,您可以直接複製到QuickSight Highcharts自定義可視化中,以及顯示預期輸出的渲染預覽。由於每個配置都動態綁定到QuickSight字段井,而不是硬編碼運營商名稱或區域值,因此您可以將這些示例適應到自己的數據集中。