![]() ![]() ![]() 因此,你給每個顧客分配了一個唯一的 ID 號: ![]() ![]() ![]() ![]() \ | / \ | / Sales_Fact Table | --------- | ------------ | ------------- | -------- | ------------- | | 20250813 | 12 | 301 | 2 | 6.00 | 要真正理解銷售情況,我們需要知道: | 301 |愛麗絲·約翰遜| 紐約 |金牌 | ![]() | 102 | 鮑勃 | 草莓 | | 103 | 查理 | 巧克力 | ![]() ![]() ![]() ![]() ![]() ![]() ![]() 1 簡單蛋筒 2簡單杯3精美圣代 看到了嗎? “簡單”這個詞在錐體和杯體上都重復出現。 ---------------- *冰激凌類型表 IceTypeID | IceTypeName | CategoryID ----------------------------------------- 1 | 蛋筒 | 1 2 | 杯 | 1 3 | 圣代 | 2 *類別表 CategoryID | CategoryName -------------------------------- 1 | 簡單 2 | 花式 ![]() ![]() ![]() ![]() 聽起來很簡單,對吧?但問題在于:你的events表每天都有數百萬行數據。在儀表板、報告或 API 上重復運行此查詢會變得緩慢、昂貴,有時甚至在高峰時段無法執行。 ![]() SELECT event_date, COUNT(DISTINCT user_id)AS daily_active_users, CURRENT_TIMESTAMP()AS last_updated FROM events WHERE event_type = 'login' GROUP BY event_date; ![]() ![]() 事實表可能顯示:order_id = 123, product_id = 45, amount = $200。 就其本身而言,這只是一個數字。但通過與維度連接,你會發現它是: “booking_id” : “H1001” , “guest_id” : “G45” , “booked_dates” : [ “2025-08-01” , “2025-08-02” , “2025-08-03” ] } │ Dim_Date │ │ (日期列表表)│ └────────┬──────────┘ │ date_key ┌──────────┼────────────┐ │ │ ┌──────▼──────┐ ┌──────▼──────┐ │ Fact_Sales │ │ Fact_Orders│ └────────────┘ └────────────┘ ![]() ![]() ![]() ![]() |
|