Zdieľať cez


Dimenzionálne modelovanie v sklade služby Microsoft Fabric: tabuľky faktov

Vzťahuje sa na:✅ koncový bod analýzy SQL a sklad v službe Microsoft Fabric

Poznámka

Tento článok je súčasťou série článkov o dimenzionálnom modelovaní . Táto séria sa zameriava na sprievodný materiál a najvhodnejšie postupy súvisiace s dimenzionálnym modelovaním v sklade služby Microsoft Fabric.

V tomto článku nájdete sprievodný materiál a najvhodnejšie postupy pri navrhovaní tabuliek faktov v dimenzionálnom modeli. Poskytuje praktické usmernenie pre sklad v službe Microsoft Fabric, čo je prostredie, ktoré podporuje množstvo funkcií T-SQL, ako napríklad vytváranie tabuliek a spravovanie údajov v tabuľkách. Takže máte úplnú kontrolu nad vytváraním tabuliek dimenzionálnych modelov a ich načítaním s údajmi.

Poznámka

V tomto článku termín sklad údajov odkazuje na podnikový sklad údajov, ktorý poskytuje komplexnú integráciu kritických údajov v rámci organizácie. Naopak samostatný pojem sklad odkazuje na sklad služby Fabric, čo je softvér ako relačná databáza SaaS (SaaS), ktorá ponúka relačnú databázu, ktorú môžete použiť na implementáciu skladu údajov. Pre objasnenie uvádzame v tomto článku názov skladu služby Fabric.

Prepitné

Ak ste neskúsení dimenzionálnym modelovaním, zvážte túto sériu článkov ako prvý krok. Jeho cieľom nie je poskytnúť kompletné informácie o návrhu dimenzionálneho modelovania. Ďalšie informácie nájdete priamo v široko prijatom publikovanom obsahu, napríklad : The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling (Súprava nástrojov skladu údajov: Definitívny sprievodca dimenzionálnym modelovaním ) (3. vydanie, 2013), Ralph Kimball a ďalší.

V dimenzionálnom modeli ukladá tabuľka faktov merania súvisiace s pozorovaniami alebo udalosťami. Mohlo by ukladať predajné objednávky, zostatky skladových zásob, výmenné kurzy, hodnoty teploty a ďalšie.

Tabuľky faktov obsahujú mierky, ktoré sú zvyčajne číselnými stĺpcami, ako napríklad množstvo predajných objednávok. Analytické dotazy sumarizujú mierky (pomocou súčtu, počtu, priemeru a ďalších funkcií) v kontexte filtrov a zoskupovaní dimenzií.

Tabuľky faktov obsahujú aj kľúče dimenzií, ktoré určujú dimenzionalitu faktov. Kľúčové hodnoty dimenzie určujú granularitu faktov, čo je atomová úroveň, pomocou ktorej sú definované fakty. Napríklad kľúč dimenzie dátumu objednávky v tabuľke faktov predaja nastavuje granularitu faktov na úrovni dátumu, zatiaľ čo kľúčový bod dimenzie cieľového dátumu v tabuľke faktov cieľ predaja by mohol nastaviť granularitu na úrovni štvrťroka.

Poznámka

Aj keď je možné uložiť fakty s vyššou granularitou, nie je jednoduché rozdeľovať hodnoty mierky na nižšie úrovne granularity (v prípade potreby). Objemy údajov spolu s analytickými požiadavkami môžu poskytovať pádny dôvod na uloženie vyššej granularity faktov, ale na úkor podrobnej analýzy.

Ak chcete tabuľky faktov jednoducho identifikovať, zvyčajne ich predpony f_ k alebo Fact_.

Štruktúra tabuľky faktov

Ak chcete popísať štruktúru tabuľky faktov, zvážte nasledujúci príklad tabuľky faktov predaja s názvom f_Sales. Tento príklad používa vhodné postupy návrhu. Každá zo skupín stĺpcov je popísaná v nasledujúcich sekciách.

CREATE TABLE f_Sales
(
    --Dimension keys
    OrderDate_Date_FK INT NOT NULL,
    ShipDate_Date_FK INT NOT NULL,
    Product_FK INT NOT NULL,
    Salesperson_FK INT NOT NULL,
    <…>
    
    --Attributes
    SalesOrderNo INT NOT NULL,
    SalesOrderLineNo SMALLINT NOT NULL,
    
    --Measures
    Quantity INT NOT NULL,
    <…>
    
    --Audit attributes
    AuditMissing BIT NOT NULL,
    AuditCreatedDate DATE NOT NULL,
    AuditCreatedBy VARCHAR(15) NOT NULL,
    AuditLastModifiedDate DATE NOT NULL,
    AuditLastModifiedBy VARCHAR(15) NOT NULL
);

Hlavný kľúč

Ako je to aj v prípade príkladu, tabuľka faktov ukážky nemá primárny kľúč. Dôvodom je, že zvyčajne neslúži na užitočný účel a zbytočne by sa zväčšila veľkosť ukladacieho priestoru tabuľky. Hlavný kľúč je často odvodený z množiny kľúčov dimenzie a atribútov.

Kľúče dimenzie

Vzorová tabuľka faktov obsahuje rôzne kľúče dimenzií, ktoré určujú dimenzionalitu tabuľky faktov. Kľúče dimenzie sú odkazy na náhradné kľúče (alebo atribúty vyššej úrovne) v súvisiacich dimenziách.

Poznámka

Ide o nezvyčajnú tabuľku faktov, ktorá neobsahuje aspoň jeden kľúč dimenzie dátumu.

Tabuľka faktov môže na dimenziu odkazovať viackrát. V tomto prípade sa označuje ako dimenzia zohrávajúci rolu. V tomto príklade má tabuľka faktov kľúče dimenzií OrderDate_Date_FK a ShipDate_Date_FK . Každý kľúč dimenzie predstavuje jedinečnú rolu, no existuje len jedna dimenzia fyzického dátumu.

Je vhodné nastaviť každý kľúč dimenzie ako NOT NULL. Počas načítavania tabuľky faktov môžete použiť špeciálne členy dimenzie na znázornenie chýbajúcich, neznámych, neuvádzaných alebo chybných stavov (ak je to potrebné).

Atribúty

Ukážková tabuľka faktov má dva atribúty. Atribúty poskytujú ďalšie informácie a nastavujú granularitu údajov faktov, ale nie sú to kľúče dimenzie, ani atribúty dimenzie, ani mierky. V tomto príklade stĺpce atribútu ukladajú informácie o predajných objednávkach. Iné príklady môžu zahŕňať sledovanie čísel alebo čísel tiketov. Na účely analýzy môže atribút tvoriť degeneranú dimenziu.

Miery

Vzorová tabuľka faktov obsahuje aj mierky, napríklad Quantity stĺpec. Stĺpce mierky sú zvyčajne číselné a bežne súčtové (čo znamená, že môžu byť zhrnuté a zhrnuté pomocou iných agregácií). Ďalšie informácie nájdete v časti Typy mierok ďalej v tomto článku.

Atribúty auditu

Vzorová tabuľka faktov má tiež rôzne atribúty auditu. Atribúty auditu sú voliteľné. Umožňujú sledovať, kedy a ako sa záznamy faktov vytvorili alebo upravili. Môžu zahŕňať diagnostické informácie alebo informácie o riešení problémov, ktoré sa objavili počas procesov extrakcie, transformácie a načítania (ETL). Môžete napríklad sledovať, kto (alebo aký proces) aktualizoval riadok a kedy. Atribúty auditu môžu tiež pomôcť diagnostikovať náročný problém, ako keď sa proces ETL neočakávane zastaví.

Veľkosť tabuľky faktov

Tabuľky faktov sa líšia vo veľkosti. Ich veľkosť zodpovedá dimenzionalite, granularite, počtu mierok a množstvu histórie. V porovnaní s tabuľkami dimenzií sú tabuľky faktov užšie (menej stĺpcov), ale sú veľké alebo dokonca obrovské v súvislosti s riadkami (nad miliardami).

Koncepty návrhu faktov

Táto časť popisuje rôzne koncepty návrhu faktov.

Typy tabuľky faktov

Existujú tri typy tabuliek faktov:

  • Tabuľky faktov transakcií
  • Pravidelné tabuľky faktov snímok
  • Hromadenie tabuliek snímok faktov

Tabuľky faktov transakcií

Tabuľka faktov transakcií uchováva obchodné udalosti alebo transakcie. Každý riadok uchováva fakty z hľadiska kľúčov dimenzie a mierok a voliteľne aj ďalšie atribúty. Všetky údaje sú pri vložení plne známe a nikdy sa nemení (okrem správnych chýb).

Tabuľky faktov transakcií zvyčajne ukladajú fakty na najnižšej možnej úrovni granularity a obsahujú mierky, ktoré sú s pripočítaním vo všetkých dimenziách. Dobrým príkladom tabuľky faktov o transakcii je tabuľka faktov predaja, ktorá ukladá všetky riadky predajnej objednávky.

Pravidelné tabuľky faktov snímok

Periodická tabuľka faktov snímok ukladá merania v preddefinovanom čase alebo konkrétnych intervaloch. Poskytuje súhrn kľúčových metrík alebo ukazovateľov výkonu v priebehu času, a tak je užitočný pri analýze trendov a monitorovaní zmien v priebehu času. Mierky sú vždy s polovičným pripočítaním (popísané ďalej).

Dobrým príkladom periodickej tabuľky snímok je tabuľka faktov inventára. Načíta sa každý deň s denným zostatkom zásob každého produktu.

Pravidelné tabuľky snímok je možné použiť namiesto tabuľky faktov transakcií, keď je zaznamenávanie veľkých objemov transakcií rozsiahle a nepodporuje žiadnu užitočnú analytickú požiadavku. Napríklad môžu nastať milióny pohybov akcií denne (ktoré môžu byť uložené v tabuľke faktov transakcií), ale vaša analýza sa týka len trendov na úrovni zásob na konci dňa.

Hromadenie tabuliek snímok faktov

Akumulaná tabuľka faktov snímok ukladá merania, ktoré sa hromadia v dobre definovanom období alebo pracovnom postupe. Často zaznamenáva stav obchodného procesu na rôznych fázach alebo medzníkoch, čo môže trvať dni, týždne alebo dokonca mesiace.

Riadok faktu sa načíta krátko po prvej udalosti v procese a riadok sa aktualizuje v predvídateľnom poradí zakaždým, keď dôjde k udalosti medzníka. Aktualizácie budú pokračovať, až kým sa proces nedokončí.

Akumulovaná tabuľka faktov snímok obsahuje viacero kľúčov dimenzií dátumu, pričom každý predstavuje udalosť medzníka. Niektoré kľúče dimenzií môžu zaznamenávať stav nie je k dispozícii, až kým sa proces nedokončil na určitý medzník. Mierky zvyčajne trvania záznamov. Trvania medzi medzníkmi môžu poskytnúť cenný prehľad o pracovnom postupe alebo procese zostavy.

Typy mierok

Mierky sú zvyčajne číselné a bežne s pripočítaním. Niektoré mierky však nie je možné vždy pridať. Tieto mierky sú rozdelené do kategórií buď ako s pripočítaním alebo bez pripočítania.

Mierky s pripočítaním

Mierku s pripočítanou veľkosťou možno sčítať v rámci ľubovoľnej dimenzie. Napríklad množstvo objednávok a výnosy z predaja sú miery s pripočítaním (za predpokladu, že výnosy sa zaznamenávajú v jednej mene).

Mierky s polovičným pripočítaním

Mierku s polovičným pripočítaím možno sčítať iba v rámci určitých dimenzií.

Tu je niekoľko príkladov mierok s polovičným pripočítaním.

  • Mierky v tabuľke faktov periodickej snímky nie je možné sčítať v iných časových obdobiach. Napríklad by ste nemali sčítať vek položky inventára vzorky noc, ale môžete sčítať vek všetkých zásob položiek na polici, každú noc.
  • Mierku zostatku zásob v tabuľke faktov inventára nie je možné sčítať v iných produktoch.
  • Výnosy z predaja v tabuľke faktov predaja, ktorá má kľúč dimenzie meny, nie je možné sčítať v menách.

Mierky bez pripočítania

Mierku bez pripočítania nemožno sčítať v rámci žiadnej dimenzie. Jedným z príkladov je čítanie teploty, ktoré svojím charakterom nedáva zmysel pridať do ďalších čítania.

Medzi ďalšie príklady patria sadzby, napríklad jednotkové ceny a pomery. Považuje sa však za lepšiu prax ukladania hodnôt použitých na výpočet pomeru, ktorý v prípade potreby umožňuje vypočítať pomer. Napríklad percento zľavy z faktu predaja je možné uložiť ako mierku výšky zľavy (ktorú má vydeliť mierka výnosy z predaja). Alebo vek inventára položky na polici by nemal byť sčítaný v priebehu času, ale môžete pozorovať trend v priemernom veku zásob položiek.

Niektoré mierky nie je možné sčítať, ale stále ide o platné mierky. Možno ich agregovať pomocou počtu, počtu rôznych položiek, minima, maxima, priemeru a iných. Mierky bez pripočítania sa tiež môžu stať s pripočítaním, keď sa používajú vo výpočtoch. Napríklad jednotková cena vynásobená množstvom objednávok produkuje výnosy z predaja, čo je s pripočítaním.

Tabuľky faktov bez faktov

Ak tabuľka faktov neobsahuje žiadne stĺpce mierok, nazýva sa tabuľka faktov bez faktov. Tabuľka faktov bez faktov zvyčajne zaznamenáva udalosti alebo výskyty, ako napríklad študenti navštevujúci triedu. Z analytického pohľadu možno merať počítaním riadkov faktov.

Agregované tabuľky faktov

Tabuľka agregovaných faktov predstavuje súhrn tabuľky základných faktov s nižšou dimenzionlitou a/alebo vyššou granularitou. Jeho účelom je urýchlenie výkonu dotazov pre bežne dotazované dimenzie.

Poznámka

Sémantický model služby Power BI môže generovať agregácie definované používateľom a dosiahnuť rovnaký výsledok alebo použiť tabuľku faktov agregácie skladu údajov pomocou režimu úložiska DirectQuery.

V nasledujúcom článku v tejto sérii získate informácie o sprievodnom materiáli a najvhodnejších postupoch pri načítavaní tabuliek dimenzionálnych modelov.