fx Thinking in Data
ENहिन्दी

Fact table बनाम dimension table — रिपोर्टिंग की नींव

⏱ 10 min

आप क्या सीखेंगे

  • दो तरह की टेबल
  • Keys इन्हें जोड़ती हैं
  • एक बड़ी शीट क्यों नहीं?

समझिए

1. दो तरह की टेबल

Fact table — जो घटनाएँ हुईं, नंबरों के साथ। बहुत सारी रो, हर दिन बढ़ती है।

OrderID OrderDate StoreID ProductID Qty UnitPrice
100001 01-04-2025 S01 P02 1 55000
100002 01-04-2025 S05 P12 4 450

Dimension tables — facts में आने वाली चीज़ों का विवरण। कम रो, कभी-कभार बदलती हैं।

ProductID Product Category UnitCost
P02 Laptop Electronics 48000
P12 Water Bottle Kitchen 220
StoreID StoreName City Region
S01 Karol Bagh Delhi North

2. Keys इन्हें जोड़ती हैं

ProductID Products टेबल में unique है (primary key) और Sales टेबल में दोहराई जाती है (foreign key)। एक प्रोडक्ट → कई बिक्री: one-to-many relationship।

3. एक बड़ी शीट क्यों नहीं?

अगर हर बिक्री रो में Product नाम, Category, Store नाम, City और Region भी हो:

  • फ़ाइल कई गुना बड़ी हो जाती है,
  • एक category का नाम बदलने का मतलब हज़ारों रो बदलना (और कुछ छूट जाना),
  • टाइपो से नकली categories बनती हैं ("Electronic" बनाम "Electronics")।

अलग टेबल: Products में category एक बार बदलें, हर रिपोर्ट अपडेट हो जाती है।

4. Grain — एक fact रो का मतलब

यह वाक्य हमेशा पूरा कर सकें: "इस टेबल की एक रो = एक ___।"

  • एक इनवॉइस लाइन (हर इनवॉइस का हर प्रोडक्ट) — रिटेल में आम,
  • एक इनवॉइस (सिर्फ़ टोटल) — प्रोडक्ट से विश्लेषण नहीं हो सकता,
  • हर स्टोर का एक दिन — सारांश, अलग-अलग ऑर्डर नहीं दिखते।

Grain मिलाने से (कुछ रो इनवॉइस, कुछ रोज़ के टोटल) टोटल गलत आते हैं। जितना बारीक grain चाहिए, वही चुनें।

5. Star schema

              Products
                  │
   Calendar ── Sales (fact) ── Stores
                  │
               Targets*

बीच में facts, चारों ओर dimensions — एक star। Excel का Data Model (मॉड्यूल 4) और Power BI इसी तरह सबसे अच्छा चलते हैं।

*Targets एक और fact table है, अलग grain पर (region × month), साझा dimensions के ज़रिए जुड़ी।

6. Calendar dimension न भूलें

हर दिन की एक रो वाली Date टेबल जिसमें Month, Quarter, Financial Year (अप्रैल–मार्च), Day name जैसे कॉलम हों। इससे FY के हिसाब से रिपोर्ट बनती है और मॉड्यूल 4 में time intelligence (YTD, पिछला साल) चलती है।

7. Data Model से पहले: XLOOKUP अब भी काम आता है

Power Pivot के बिना भी dimensions को अलग Tables में रखें और जो चाहिए वह XLOOKUP (Foundations मॉड्यूल 4) या Power Query merge (मॉड्यूल 3) से लाएँ।

आम गलतियाँ

Dimension टेबल में डुप्लिकेट keys (P02 की दो रो → दोहरी गिनती)। अतिरिक्त स्पेस वाली keys ("S01 " ≠ "S01")। एक fact table में grain मिलाना।

अभ्यास

mediumअपनी कोई सेल्स शीट लें जिसमें हर रो पर प्रोडक्ट नाम और category दोहराए गए हैं। इसे Sales fact table (IDs + नंबर) और Products dimension table (हर प्रोडक्ट की एक रो) में बाँटें। =COUNTIF([ProductID],[@ProductID])>1 से जाँचें कि dimension में डुप्लिकेट ID नहीं है।
Fact में transaction IDs, Date, ProductID, Qty, Amount रखें; Products में हर ProductID के attributes एक बार रखें। Dimension key का COUNTIF हमेशा 1 हो। Capstone में 50000 facts, 12 unique products, 8 unique stores और trim के बाद zero unmatched keys मिलें।

प्रश्नोत्तरी

किस तरह की टेबल में बहुत रो और नंबर होते हैं?
Fact table
One-to-many relationship में key कहाँ unique होती है?
Dimension table में
"Grain" का मतलब?
Fact table की एक रो क्या दर्शाती है
Fact table बनाम dimension table — रिपोर्टिंग की नींव · हिंदी | ExcelWalaa