Kardinaliteetin vähentäminen
Kardinaliteetti on termi, jolla kuvataan sarakkeen arvojen ainutlaatuisuutta. Kardinaliteetti-käsitettä käytetään myös kahden taulukon välisissä suhteissa, joissa se kuvailee suhteen suunnan.
Kardinaliteettitasojen ilmaiseminen sarakkeissa
Kun aiemmin analysoit metatietoja Power Query -editorilla, Näytä-välilehden Sarakejakauma-vaihtoehto näytti tilastotiedot siitä, montako erillistä ja yksilöllistä kohdetta tietojen eri sarakkeissa oli.
Erillisten arvojen määrä – tietyn sarakkeen erilaisten arvojen kokonaismäärä.
Yksilöllisten arvojen määrä – tietyssä sarakkeessa vain kerran esiintyvien arvojen kokonaismäärä.
Sarakkeella, jonka alueella on paljon toistuvia arvoja (yksilöllisten arvojen määrä on pieni), on matala kardinaliteettitaso. Jos sarakkeen alueella on vastaavasti paljon yksilöllisiä arvoja (yksilöllisten arvojen määrä on suuri), sarakkeella on korkea kardinaliteettitaso.
Matala kardinaliteetti johtaa optimoituun suorituskykyyn, joten sinun on ehkä vähennettävä semanttisen mallisi suuren kardinaliteetin sarakkeiden määrää.
Suhteiden kardinaliteetin vähentäminen
Kun tuot useita taulukoita, voit tehdä analyysin käyttämällä kaikkien näiden taulukoiden tietoja. Kyseisten taulukoiden väliset suhteet ovat välttämättömiä tulosten tarkassa laskennassa ja oikeiden tietojen näyttämisessä raporteissasi. Power BI Desktop helpottaa näiden suhteiden luomista. Itse asiassa useimmissa tapauksissa sinun ei tarvitse tehdä mitään, sillä automaattinen tunnistustoiminto kaiken puolestasi. Ajoittain sinun täytyy kuitenkin luoda suhteita tai tehdä muutoksia johonkin suhteeseen. Siitä huolimatta on tärkeää ymmärtää suhteita Power BI Desktopissa ja osata luoda ja muokata niitä.
Kun luot suhteen tai muokkaat suhdetta, voit määrittää lisäasetuksia. Oletusarvoisesti Power BI Desktop määrittää automaattisesti lisäasetuksia käyttämällä parasta arvaustaan, joka voi olla erilainen eri suhteille sarakkeiden tietojen perusteella.
Suhteilla voi olla eri kardinaliteetti. Kardinaliteetti on suhteen suunta, ja kullekin mallisuhteelle on määritettävä kardinaliteettityyppi. Power BI:n kardinaliteettiasetukset ovat seuraavat:
Monta yhteen (
*
:1) – Tämä suhde on yleisin, oletustyyppi. Se tarkoittaa, että yhden taulukon sarakkeella voi olla useampi kuin yksi tietyn arvon esiintymä, ja toisella liittyvällä taulukolla, jota kutsutaan usein hakutaulukoksi, on vain yksi tietyn arvon esiintymä.Yksi yhteen (1:1) – Tässä suhdetyypissä yhden taulukon sarakkeella on vain yksi tietyn arvon esiintymä, ja toisella liittyvällä taulukolla on vain yksi tietyn arvon esiintymä.
Yksi moneen (1:
*
) – Tässä suhdetyypissä yhden taulukon sarakkeella on vain yksi tietyn arvon esiintymä, ja toisella liittyvällä taulukolla voi olla useampi kuin yksi tietyn arvon esiintymä.Monta moneen (:) – Yhdistelmämalleilla voit muodostaa taulukoiden välille monta moneen -suhteen, mikä poistaa taulukoiden yksilöllisten arvojen vaatimukset. Se poistaa myös aiemmat vaihtoehtoiset menetelmät, kuten uusien taulukoiden käyttöönoton vain suhteiden luomiseksi.
Kehityksen aikana luot ja muokkaat suhteita mallissasi, joten kun luot uusia suhteita malliin, varmista aina valitsemastasi kardinaliteetista riippumatta, että molemmat sarakkeet, joita käytät suhteeseen osallistumiseen, jakavat saman tietotyypin. Mallisi ei toimi, jos yrität muodostaa suhteen kahden sarakkeen välille, jos toisen sarakkeen tietotyyppi on teksti ja toisen kokonaisluku.
Seuraavassa esimerkissä Tuotetunnus-kentän tietotyyppi on Kokonaisluku Tuote- ja Myynti-taulukoissa. Sarakkeet, joiden tietotyyppi on Kokonaisluku, toimivat paremmin kuin sarakkeet, joiden tietotyyppiä on Teksti.
Suorituskyvyn parantaminen kardinaliteettitasoja vähentämällä
Power BI Desktop tarjoaa erilaisia tekniikoita, joiden avulla voit vähentää semanttisiin malleihin ladattuja tietoja, kuten yhteenvetoa. Malliisi ladattavien tietojen vähentäminen parantaa raportin suhdekardinaliteettia. Siksi on tärkeää pyrkiä minimoimaan malleihisi ladattavat tiedot. Tämä pätee erityisesti suuriin malleihin, tai malleihin, joiden odotat kasvavan suuriksi ajan myötä.
Ehkä tehokkain menetelmä mallin koon pienentämiseeni on käyttää yhteenvetotaulukkoa tietolähteestä. Jos oletetaan, että tietotaulukko sisältää jokaisen tapahtuman, yhteenvetotaulukko sisältää yhden tietueen joka päivältä, viikolta tai kuukaudelta. Se voi olla esimerkiksi kaikkien päivän tapahtumien keskiarvo.
Esimerkiksi lähteen myyntitietotaulukkoon tallennetaan yksi rivi jokaista tilausriviä kohden. Tietoja voidaan vähentää merkittävästi tekemällä yhteenveto kaikista myyntimittareista, jos tiedot ryhmitellään päivämäärän, asiakkaan ja tuotteen mukaan, eivätkä yksittäiset tapahtumatiedot ole tarpeen.
Huomaa, että tätäkin enemmän tietoja voidaan vähentää ryhmittelemällä päivämäärän mukaan kuukauden tasolla. Näin mallin kokoa voidaan vähentää 99 prosenttia. Tällöin raportointi päivätasolla tai yksittäisten tilausten tasolla ei kuitenkaan ole enää mahdollista. Jos faktatyyppiset tiedot päätetään tiivistää, kompromissina on, että tietojen yksityiskohtaisuus menetetään. Tästä aiheutuu se haitta, että saatat menettää mahdollisuuden porautua tietoihin, koska tietoja ei ole enää olemassa. Tätä kompromissia voi lieventää käyttämällä yhdistelmämallirakennetta.
Power BI Desktopissa yhdistelmätilarakenne tuottaa yhdistelmämallin. Sen avulla voit määrittää tallennustilan jokaista taulukkoa varten. Siksi jokaisella taulukolla voi olla Tallennustila-ominaisuuden asetuksena Tuo tai DirectQuery.
Tehokas menetelmä mallin koon pienentämiseen on määrittää suurten faktatyyppisten taulukoiden Tallennustila-ominaisuuden asetukseksi DirectQuery-. Tämä menetelmä voi toimia hyvin yhdessä niiden tekniikoiden kanssa, joita käytetään tietojen yhteenvetoon. Esimerkiksi yhteen vedettyjä myyntitietoja käyttämällä voidaan saavuttaa hyvin suorituskykyinen yhteenvetoraportointi. Porautumissivu voidaan luoda esittämään hajautettu myynti tietyille (kapeille) suodatuskonteksteille näyttämällä kaikki kontekstin mukaiset myyntitilaukset. Porautumissivu sisältäisi DirectQuery-taulukkoon perustuvat visualisoinnit myyntitilaustietojen noutamista varten.
Lisätietoja on artikkelissa Tietojen vähentämisen tekniikat tuonnin mallinnusta varten.