Jaa


Dimensiomallinnus Microsoft Fabric Warehousessa: faktataulukot

Koskee: SQL-analytiikan päätepiste ja Microsoft Fabric -varasto

Muistiinpano

Tämä artikkeli on osa dimensiomallinnussarjaa . Tässä sarjassa keskitytään microsoft Fabric Warehousen dimensiomallinnukseen liittyviin ohjauksen ja suunnittelun parhaisiin käytäntöihin.

Tässä artikkelissa on ohjeita ja parhaita käytäntöjä faktataulukoiden suunnitteluun dimensiomallissa. Se tarjoaa käytännön ohjeita Microsoft Fabric Warehouselle. Se on kokemus, joka tukee monia T-SQL-ominaisuuksia, kuten taulukoiden luomista ja tietojen hallintaa taulukoissa. Hallitset siis dimensiomallitaulukoiden luomista ja niiden lataamista tiedoilla.

Muistiinpano

Tässä artikkelissa termi tietovarasto viittaa yrityksen tietovarastoon, joka tarjoaa tärkeiden tietojen kattavan integroinnin koko organisaatioon. Sen sijaan erillinen termivarasto viittaa Fabric Warehouseen, joka on Ohjelmisto palveluna (SaaS) -relaatiotietokanta, jonka avulla voit toteuttaa tietovaraston. Selkeyden vuoksi tässä artikkelissa jälkimmäinen mainitaan nimellä Fabric Warehouse.

Vihje

Jos et ole ennen kokenut dimensiomallinnusta, harkitse tätä artikkelisarjaa ensimmäisessä vaiheessasi. Sen tarkoituksena ei ole käydä läpi koko dimensiomallinnuksen rakennetta. Lisätietoja on suoraan laajasti hyväksytyssä julkaistussa sisällössä, kuten The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling (3. painos, 2013), Ralph Kimball ja muut.

Dimensiomallissa faktataulukkoon tallennetaan havaintoihin tai tapahtumiin liittyvät mittarit. Se pystyi tallentamaan myyntitilauksia, varastosaldoja, valuuttakursseja, lämpötilalukemia ja paljon muuta.

Faktataulukot sisältävät mittareita, jotka ovat yleensä numeerisia sarakkeita, kuten myyntitilauksen määrä. Analytiikkakyselyt tekevät yhteenvedon mittareista (käyttämällä sum-, count-, average- ja muita funktioita) dimensiosuodattimien ja ryhmittelyjen yhteydessä.

Faktataulukot sisältävät myös dimensioavaimia, jotka määrittävät faktojen dimensiot . Dimension avainarvot määrittävät faktojen askelvälin , joka on atomitaso, jolla faktat määritetään. Esimerkiksi tilauspäivämäärän dimensioavain myynnin faktataulukossa määrittää faktojen askelvälit päivämäärätasolla, kun taas myyntitavoitteen faktataulukon kohdepäivämäärän avain voi määrittää askelvälin vuosineljänneksen tasolla.

Muistiinpano

Vaikka on mahdollista tallentaa faktoja, joiden rakeisuus on suurempi, ei ole helppoa jakaa mittariarvoja alemmalle rakeisuustasolle (tarvittaessa). Pelkät tietomäärät yhdessä analyyttisten vaatimusten kanssa saattavat antaa pätevän syyn suurempien askelvälisten faktojen tallentamiseen, mutta yksityiskohtaisen analyysin kustannuksella.

Faktataulukoiden helpoksi tunnistamiseksi niiden nimien f_ etuliitteenä on yleensä tai Fact_.

Faktataulukon rakenne

Lisätietoja faktataulukon rakenteesta on seuraavassa esimerkissä myynnin faktataulukosta, jonka nimi on f_Sales. Tässä esimerkissä sovelletaan hyviä suunnittelukäytäntöjä. Kaikki sarakeryhmät on kuvattu seuraavissa osissa.

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
);

Ensisijainen avain

Kuten esimerkissä, malli faktataulukolla ei ole perusavainta. Tämä johtuu siitä, että siitä ei yleensä ole hyötyä ja se kasvattaisi taulukon tallennuskokoa tarpeettomasti. Dimensioavainten ja -määritteiden joukko viittaa usein perusavaimeen.

Dimensioavaimet

Malli faktataulukossa on useita dimensioavaimia, jotka määrittävät faktataulukon dimensiot. Dimensioavaimet ovat viittauksia korvaajiin avaimiin (tai ylemmän tason määritteisiin) liittyvissä dimensioissa.

Muistiinpano

Se on epätavallinen faktataulukko, joka ei sisällä vähintään yhtä päivämäärädimension avainta.

Faktataulukko voi viitata dimensioon useita kertoja. Tässä tapauksessa sitä kutsutaan rooliulottuvuudeksi. Tässä esimerkissä faktataulukossa on - ja ShipDate_Date_FK -OrderDate_Date_FKdimensioavaimet. Kukin dimensioavain edustaa erillistä roolia, mutta fyysisiä päivämäärädimensioita on vain yksi.

On hyvä käytäntö määrittää dimensioavaimeksi NOT NULL. Faktataulukon lataamisen aikana voit käyttää erikoisdimension jäseniä edustamaan puuttuvia, tuntemattomia, N/A-tilaa tai virhetiloja (tarvittaessa).

Määritteet

Faktataulukon esimerkissä on kaksi määritettä. Määritteet tarjoavat lisätietoja ja määrittävät faktatietojen askelvälin, mutta ne eivät ole dimensioavaimia, dimensiomääritteitä eivätkä mittareita. Tässä esimerkissä määritesarakkeet tallentavat myyntitilaustiedot. Muita esimerkkejä voivat olla numeroiden tai lippujen numeroiden seuranta. Analyysia varten määrite voi muodostaa johdetun dimension.

Mittarit

Faktataulukkoesimerkki sisältää myös mittareita, kuten sarakkeen Quantity . Mittarisarakkeet ovat yleensä numeerisia ja yleisesti lisääviä (eli ne voidaan laskea yhteen ja niistä voidaan tehdä yhteenveto muilla koosteiden avulla). Lisätietoja on tämän artikkelin kohdassa Mittarityypit .

Audit attributes

Lisäksi malli faktataulukossa on useita valvontamääritteitä. Valvontamääritteet ovat valinnaisia. Niiden avulla voit seurata, milloin ja miten faktatietueita on luotu tai muokattu. Ne voivat sisältää diagnostiikka- tai vianmääritystietoja, jotka on annettu Poimi-, Muunna- ja Lataa (ETL) -prosessien aikana. Voit esimerkiksi seurata, kuka (tai mikä prosessi) on päivittänyt rivin ja milloin. Valvontamääritteet voivat myös auttaa diagnosoimaan haastavaa ongelmaa, kuten sitä, milloin ETL-prosessi pysähtyy odottamattomasti.

Faktataulukon koko

Faktataulukot vaihtelevat koon mukaan. Niiden koko vastaa dimensiota, askelväliä, mittareiden määrää ja historian määrää. Dimensiotaulukoihin verrattuna faktataulukot ovat kapeampia (vähemmän sarakkeita), mutta suuria tai jopa valtavia rivien suhteen (yli miljardien).

Faktasuunnittelun käsitteet

Tässä osiossa kuvataan useita faktan suunnittelun käsitteitä.

Faktataulukkotyypit

Faktataulukoita on kolmenlaisia:

  • Tapahtuma faktataulukot
  • Kausittaiset tilannevedostaulukkojen tilannevedos
  • Faktataulukoiden tilannevedoksen kertyminen

Tapahtuma faktataulukot

Tapahtuman faktataulukko sisältää yritystapahtumat tai tapahtumat. Jokaiselle riville tallennetaan faktoja dimensioavaimien ja -mittareiden sekä valinnaisesti muiden määritteiden osalta. Kaikki tiedot tunnetaan täysin, kun ne lisätään, eikä niitä koskaan muuteta (paitsi oikeisiin virheisiin).

Yleensä tapahtumien faktataulukot tallentavat faktoja alimmalla mahdollisella askelvälitasolla, ja ne sisältävät mittareita, jotka ovat lisääviä kaikissa dimensioissa. Myynnin faktataulukko, joka tallentaa jokaisen myyntitilausrivin, on hyvä esimerkki tapahtuman faktataulukosta.

Kausittaiset tilannevedostaulukkojen tilannevedos

Jaksottainen tilannevedostietotaulukko tallentaa mittarit ennalta määritettynä ajankohtana tai tietyillä aikaväleillä. Se tarjoaa yhteenvedon tärkeimmistä mittareista tai suorituskykyilmaisimista ajan kuluessa, joten siitä on hyötyä trendianalyysissa ja -seurannassa muutoksesta ajan kuluessa. Mittarit ovat aina puoli-lisääviä (kuvaillaan myöhemmin).

Varaston faktataulukko on hyvä esimerkki kausittaisesta tilannevedostaulukosta. Se ladataan joka päivä jokaisen tuotteen päivän lopun varastosaldolla.

Kausittaisia tilannevedostaulukoita voi käyttää tapahtuman faktataulukon sijaan suurten tapahtumamäärien tallentamisessa. Se ei tue mitään hyödyllistä analyysivaatimusta. Esimerkiksi varastoliikkeitä saattaa olla miljoonia päivässä (jotka voidaan tallentaa tapahtuma faktataulukkoon), mutta analyysissäsi käsitellään vain päivän lopun varastotasojen suuntauksia.

Faktataulukoiden tilannevedoksen kertyminen

Kertyvä tilannevedos faktataulukko tallentaa mittarit, jotka kertyvät määritellylle kaudelle tai työnkululle. Se kirjaa usein liiketoimintaprosessin tilan erillisiin vaiheisiin tai välitavoitteihin, joiden valmistuminen voi kestää päiviä, viikkoja tai jopa kuukausia.

Faktarivi ladataan pian prosessin ensimmäisen tapahtuman jälkeen, ja sitten rivi päivitetään ennustettavissa olevassa järjestyksessä aina, kun välitavoitetapahtuma ilmenee. Päivitykset jatkuvat, kunnes prosessi on valmis.

Kertyvässä tilannevedoksen faktataulukossa on useita päivämäärädimension avaimia, joista jokainen edustaa välitavoitteen tapahtumaa. Jotkin dimensioavaimet saattavat tallentaa tilaksi N/A, kunnes prosessi saavuttaa tietyn välitavoitteen. Mittarit tallentavat yleensä kestot. Välitavoitteiden väliset kestot voivat tarjota arvokasta tietoa liiketoiminnan työnkulusta tai kokoonpanoprosessista.

Mittarityypit

Mittarit ovat yleensä numeerisia ja yleisesti lisääviä. Joitakin mittareita ei kuitenkaan aina voi lisätä. Nämä mittarit luokitellaan joko puolittain lisääviksi tai lisäämättömiksi.

Lisäävät mittarit

Lisäävän mittarin voi laskea yhteen missä tahansa dimensiossa. Esimerkiksi tilausten määrä ja myyntituotto ovat lisääviä mittareita (kunhan tuotto tallennetaan yhtä valuuttaa varten).

Puolilisäävät mittarit

Puolittain lisäävä mittari voidaan laskea yhteen vain tietyissä dimensioissa.

Seuraavassa on joitakin esimerkkejä puolittäin lisää olevista mittareista.

  • Mitään mittaria kausittaisen tilannevedoksen faktataulukossa ei voida laskea yhteen muiden ajanjaksojen kesken. Sinun ei esimerkiksi kannata laskea varastonimikkeen ikää yöllä, mutta voit laskea hyllyn kaikkien varastokohteiden iän joka yö.
  • Varastosaldon mittaria varaston faktataulukossa ei voida laskea yhteen muiden tuotteiden kanssa.
  • Myyntituottoa myynti faktataulukossa, jossa on valuuttadimension avain, ei voi laskea yhteen valuutoissa.

Lisäämättömät mittarit

Ei-lisäävän mittarin summaa ei voida laskea yhteen missään dimensiossa. Yksi esimerkki on lämpötilalukeminen, jota ei luonteensa vuoksi ole järkevää lisätä muihin lukemiin.

Muita esimerkkejä ovat hinnat, kuten yksikköhinnat ja suhteet. On kuitenkin parempi tallentaa arvot, joilla lasketaan suhde, mikä mahdollistaa suhteen laskemisen tarvittaessa. Esimerkiksi myyntis faktan alennusprosentti voidaan tallentaa alennussumman mittarina (jaetaan myyntituotto-mittarilla). Tai varastonimikkeen ikää hyllyllä ei tule laskea yhteen ajan kuluessa, mutta saatat huomata trendin varastokohteiden keskimääräisessä iässä.

Vaikka joitakin mittareita ei voida laskea yhteen, ne ovat silti kelvollisia mittareita. Ne voidaan koostaa käyttämällä esimerkiksi määrää, erillisten määrää, vähimmäis- ja enimmäisarvoja sekä keskiarvoja. Lisäksi lisäämättömät mittarit voivat muuttua lisääväksi, kun niitä käytetään laskutoimituksissa. Esimerkiksi yksikköhinta kerrottuna tilausmäärällä tuottaa myyntituottoa, joka on lisääviä.

Faktattomat faktataulukot

Kun faktataulukko ei sisällä mittarisarakkeita, sitä kutsutaan faktattomaksi faktataulukoksi. Faktattomassa faktataulukossa on yleensä tapahtumia tai esiintymiä, kuten oppitunnilla käyvät opiskelijat. Analyysin näkökulmasta mittaus voidaan tehdä laskemalla faktarivejä.

Faktataulukoiden koostaminen

Kooste faktataulukko edustaa perus faktataulukon koostamista pienempään dimensioon ja/tai suurempaan askelväliin. Sen tarkoituksena on nopeuttaa yleisesti kysettyjen dimensioiden kyselyjen suorituskykyä.

Muistiinpano

Semanttinen Power BI -malli voi luoda käyttäjän määrittämiä koosteita saman tuloksen saavuttamiseksi tai käyttää tietovaraston koostetietotaulukkoa DirectQuery-tallennustilan avulla.

Tämän sarjan seuraavassa artikkelissa on tietoja dimensiomallitaulukoiden lataamisen ohjeista ja suunnittelun parhaista käytännöistä.