Suhteiden luominen ja hallinta Power BI Desktopissa
Jos sinulla on useita taulukoita, luot todennäköisesti analyyseja kaikkien näiden taulukoiden tietojen perusteella. Kyseisten taulukoiden väliset suhteet ovat välttämättömiä tulosten tarkassa laskennassa ja oikeiden tietojen näyttämisessä raporteissasi. Useimmissa tapauksissa se ei edellytä sinulta mitään toimia. Automaattinen tunnistus tekee sen puolestasi. Joskus sinun on kuitenkin ehkä luotava suhteita itse tai tehtävä muutoksia suhteeseen. Joka tapauksessa on tärkeää ymmärtää Power BI Desktopissa suhteita ja miten niitä voi luoda ja muokata.
Automaattinen tunnistus latauksen aikana
Jos suoritat kyselyn kahdesta tai useammasta taulukosta yhtä aikaa, Power BI Desktop yrittää löytää ja luoda tiedoista suhteita, kun tiedot on ladattu. Suhdeasetukset Kardinaliteetti, Ristisuodatussuunta ja Tee tästä suhteesta aktiivinen määritetään automaattisesti. Power BI Desktop tarkastelee kyselyyn kohteessa olevien taulukoiden sarakkeiden nimiä selvittääkseen, onko mahdollisia suhteita. Jos suhteita löytyy, ne luodaan automaattisesti. Jos Power BI Desktop ei pysty määrittämään osumaa luotettavasti, se ei luo suhdetta. Voit kuitenkin edelleen luoda tai muokata suhteita manuaalisesti Suhteiden hallinta -valintaikkunassa.
Suhteen luominen automaattisella tunnistuksilla
Valitse Mallinnus-välilehdessä Suhteiden>hallinta Automaattinen tunnistus.
Suhteen luominen manuaalisesti
Valitse Mallinnus-välilehdessä Suhteiden>hallinta Uusi.
Valitse taulukko Luo suhde -valintaikkunan ensimmäisen taulukon avattavasta luettelosta. Valitse sarake, jota haluat käyttää suhteessa.
Valitse toisen taulukon avattavasta luettelosta toinen taulukko, jonka haluat suhteeseen. Valitse toinen sarake, jota haluat käyttää, ja valitse sitten OK.
Oletusarvoisesti Power BI Desktop määrittää automaattisesti uuden suhteen kardinaliteetin (suunnan), ristisuodatussuunnan ja tee tästä suhteesta aktiivisen. Voit kuitenkin muuttaa näitä asetuksia tarvittaessa. Lisätietoja on artikkelissa Tietoja lisäasetuksista.
Jos millään suhteeseen valituista taulukoista ei ole yksilöllisiä arvoja, näkyviin tulee seuraava virhe: Jossakin sarakkeista on oltava yksilölliset arvot. Vähintään yhdessä suhteen taulukossa on oltava erillisiä, yksilöllisiä avainarvoja, mikä on yleinen vaatimus kaikissa relaatiotietokantatekniikoissa.
Jos kohtaat virheen, voit korjata ongelman muutamalla eri tavalla:
- Poista kaksoiskappaleet -parametrin avulla voit luoda sarakkeen, jossa on yksilöllisiä arvoja. Tämän huono puoli on se, että saatat menettää tietoja, kun rivien kaksoiskappaleet poistetaan. Usein avaimen (rivin) kopioinnille on syynsä.
- Lisää malliin luettelo erillisistä avainarvoista tehty välitaulukko, joka linkitetään suhteen molempiin alkuperäisiin sarakkeisiin.
Lisätietoja on tässä blogikirjoituksessa.
Vaihtoehtoisesti voit luoda suhteen vetämällä ja pudottamalla mallinäkymän kaavioasetteluissa sarakkeen yhdestä taulukosta toisen taulukon sarakkeeseen.
Suhteen muokkaaminen
Voit muokata suhdetta Power BI:ssä kahdella tavalla.
Ensimmäinen tapa muokata suhdetta on käyttää Muokkaussuhteita Malli-näkymän Ominaisuudet-ruudussa, jossa voit valita minkä tahansa rivin kahden taulukon välillä nähdäksesi suhdeasetukset Ominaisuudet-ruudussa. Muista laajentaa Ominaisuudet-ruutu, jotta näet suhdeasetukset.
Näet myös video-esittelyn suhteiden muokkaamisesta Ominaisuudet-ruudussa.
Toinen tapa muokata suhdetta on käyttää Suhdeeditori-valintaikkunaa, jonka voit avata monella tapaa Power BI Desktopista. Seuraavassa luettelossa näytetään eri tavat, joilla voit avata suhdeeditorin valintaikkunan:
Raportti-näkymässä voit tehdä jotain seuraavista:
- Valitse Mallinnus-valintanauha Suhteiden hallinta-valintanauha>, valitse suhde ja valitse Muokkaa.
- Valitse taulukko Kentät-luettelosta, valitse Taulukkotyökalut-valintanauha >Suhteiden hallinta, valitse suhde ja valitse sitten Muokkaa.
Valitse Tiedot-näkymässä Taulukkotyökalut-valintanauha > Suhteiden hallinta, valitse suhde ja valitse sitten Muokkaa.
Malli-näkymässä voit tehdä jotain seuraavista:
- Valitse Aloitus-valintanauha > Suhteiden hallinta, valitse suhde ja valitse sitten Muokkaa.
- Kaksoisnapsauta mitä tahansa riviä kahden taulukon välillä.
- Napsauta hiiren kakkospainikkeella mitä tahansa riviä kahden taulukon välillä ja valitse sitten Ominaisuudet.
- Valitse mikä tahansa rivi kahden taulukon välillä ja valitse sitten Ominaisuudet-ruudusta Avaa suhdeeditori.
Lopuksi voit myös muokata suhdetta missä tahansa näkymässä, napsauttaa hiiren kakkospainiketta tai valita kolme pistettä, jotta pääset minkä tahansa taulukon pikavalikkoon, valitse Suhteiden hallinta, valitse suhde ja valitse sitten Muokkaa.
Seuraavassa kuvassa on näyttökuva Muokkaa suhdetta -ikkunasta.
Suhteiden muokkaaminen eri menetelmiä käyttämällä
Muokkaa suhteita -valintaikkunan käyttäminen on ohjatumpi käyttökokemus yhteyksien muokkaamisessa Power BI:ssä, ja se on tällä hetkellä esikatseluvaiheessa. Näet esikatselun kunkin taulukon tiedoista. Kun valitset eri sarakkeita, ikkuna vahvistaa suhteen automaattisesti ja tarjoaa asianmukaisen kardinaliteetin sekä ristisuodatusvalinnat.
Suhteiden muokkaaminen Ominaisuudet-ruudussa on virtaviivaistettu tapa muokata suhteita Power BI:ssä. Näet vain taulukon nimet ja sarakkeet, joista voit valita, eikä sinulle esitetä tietojen esikatselua, ja tekemäsi suhdevalinnat vahvistetaan vain, kun valitset Ota muutokset käyttöön. Ominaisuudet-ruudun ja sen virtaviivaistetun lähestymistavan käyttäminen vähentää suhteen muokkaamisessa luotavien kyselyiden määrää, mikä voi olla tärkeää massadataskenaarioissa etenkin Käytettäessä DirectQuery-yhteyksiä. Ominaisuudet-ruudun avulla luodut suhteet voivat myös olla kehittyneempiä kuin suhteet, jotka voidaan luoda Muokkaa suhteita -valintaikkunassa.
Voit myös valita useita suhteita mallinäkymäkaavion asetteluissa painamalla Ctrl-näppäintä ja valitsemalla useamman kuin yhden rivin useiden suhteiden valitsemiseksi. Yleisiä ominaisuuksia voidaan muokata Ominaisuudet-ruudussa, ja Ota muutokset käyttöön -menettelyssä muutokset käsitellään yhdessä tapahtumassa.
Yksittäiset tai monivalitut suhteet voidaan poistaa myös painamalla näppäimistön Poista-painiketta. Et voi kumota poistotoimintoa, joten valintaikkuna kehottaa sinua vahvistamaan suhteiden poistamisen.
Tärkeä
Yhteyksien muokkaaminen Ominaisuudet-ruudun ominaisuudessa on tällä hetkellä esikatseluvaiheessa. Esikatselun aikana toiminnot ja dokumentaatio todennäköisesti muuttuvat. Tämä ominaisuus on otettava käyttöön Power BI Desktopissa siirtymällä Kohtaan TiedostoAsetukset > ja vaihtoehdot > Asetukset Esikatseluominaisuudet>. Valitse sitten YLEINEN-osiosta Suhde-ruudun vieressä oleva valintaruutu.
Lisäasetusten määrittäminen
Kun luot suhteen tai muokkaat suhdetta, voit määrittää enemmän vaihtoehtoja. Oletusarvoisesti Power BI Desktop määrittää automaattisesti lisää vaihtoehtoja parhaan arvauksensa perusteella, mikä voi olla erilainen eri suhteille sarakkeiden tietojen perusteella.
Kardinaliteetti
Kardinaliteetti-asetuksella voi olla jokin seuraavista asetuksista:
Monta yhteen (*:1): Monta yhteen -suhde on yleisin suhdetyyppi ja oletustyyppi. Se tarkoittaa, että arvo voi ilmetä toisessa taulukossa useammin kuin kerran ja toisella liittyvällä taulukolla, jota kutsutaan usein hakutaulukoksi, on vain yksi tietyn arvon esiintymä.
Yksi yhteen (1:1): Yksi yhteen -suhteessa tämä määrittää yhden taulukon sarakkeelle vain yhden tietyn arvon esiintymän, ja toisella liittyvällä taulukolla on vain yksi tietyn arvon esiintymä.
Yksi moneen (1:*): Yksi moneen -suhteessa arvo näkyy vain kerran toisen taulukon sarakkeessa, ja toisessa liittyvässä taulukossa arvo voi ilmetä useammin kuin kerran.
Monta moneen (*:*): Yhdistelmämallien avulla voit muodostaa monta moneen -yhteyden taulukoiden välille, mikä poistaa taulukoiden yksilöllisten arvojen vaatimukset. Se poistaa myös aiemmat vaihtoehtoiset menetelmät, kuten uusien taulukoiden käyttöönoton vain suhteiden luomiseksi. Lisätietoja on artikkelissa Moni-moneen-kardinaliteetin sisältävät suhteet.
Lisätietoja siitä, milloin kardinaliteetin asetuksia muutetaan, on artikkelissa Tietoja lisäasetuksista.
Ristisuodatus
Ristisuodatus-asetuksella voi olla jokin seuraavista asetuksista:
Molemmat: Suodatuksessa molempia taulukoita käsitellään yhtenä taulukkona. Molemmat-asetus toimii hyvin silloin, kun käsitellään yhtä taulukkoa, jossa on useita ympäröiviä hakutaulukoita. Esimerkki on myynti todelliset -taulukko, jossa on osaston hakutaulukko. Tätä kokoonpanoa kutsutaan usein tähtirakenteeksi (päätaulukko, jolla on useita hakutaulukoita). Jos kuitenkin sinulla on vähintään kaksi taulukkoa, joilla on myös hakutaulukoita (joista osa on yhteisiä), et halua käyttää Molemmat-asetusta. Jos haluat jatkaa edellistä esimerkkiä, sinulla on tässä tapauksessa myös budjettitaulukko, johon on kirjattu kunkin osaston tavoitebudjetti. Osastotaulukko liittyy siis sekä myynti- että budjettitaulukkoon. Vältä Molemmat-asetusta tällaisessa määrityksessä.
Yksittäinen: Yleisin, ja oletussuunta, mikä tarkoittaa, että yhdistettyjen taulukoiden suodatusvalinnat toimivat siinä taulukossa, johon arvot kerätään. Jos tuot Tietomallin Excel 2013:sta aiemmasta Power Pivotista, kaikki suhteet ovat yhteen suuntaan suunnattuja.
Lisätietoja siitä, milloin ristisuodatussuunnan asetuksia muutetaan, on artikkelissa Tietoja lisäasetuksista.
Tee tästä suhteesta aktiivinen
Kun tee suhteesta aktiivinen -asetus on valittuna, suhde toimii aktiivisena oletusarvoisena suhteena. Jos kahden taulukon välillä on useampi kuin yksi suhde, Power BI Desktop voi aktiivisen suhteen avulla luoda automaattisesti visualisointeja, jotka sisältävät molemmat taulukot.
Lisätietoja siitä, milloin tietty suhde kannattaa määrittää aktiiviseksi, on artikkelissa Tietoja lisäasetuksista.
Tietoja suhteista
Kun olet yhdistänyt kaksi taulukkoa suhteella, voit käsitellä molempien taulukoiden tietoja aivan kuin ne olisivat yksi taulukko. Tämän jälkeen sinun ei tarvitse huolehtia suhteiden tiedoista tai kyseisten taulukoiden tasoittamisesta yhdeksi taulukoksi ennen niiden tuomista. Monissa tilanteissa Power BI Desktop voi luoda suhteet automaattisesti puolestasi. Jos Power BI Desktop ei kuitenkaan pysty määrittämään varmasti kahden taulukon välistä suhdetta, se ei luo suhdetta automaattisesti. Tällöin sinun on tehtävä niin.
Tehdään nopea opetusohjelma, jotta saat paremman kuvan siitä, miten suhteet toimivat Power BI Desktopissa.
Vihje
Voit suorittaa tämän harjoituksen itse:
- Kopioi seuraava Projektitunnit-taulukko Excel-laskentataulukkoon (otsikko pois lukien), valitse kaikki solut ja valitse sitten Lisää>taulukko.
- Valitse Luo taulukko -valintaikkunassa OK.
- Valitse mikä tahansa taulukon solu, valitse Taulukon rakenne>Taulukon nimi ja kirjoita sittenProjektitunnit.
- Tee sama Yritysprojekti-taulukolle.
- Tuo tiedot käyttämällä Power BI Desktopin Nouda tiedot -toimintoa. Valitse kaksi taulukkoa tietolähteeksi ja valitse sitten Lataa.
Ensimmäisessä Projektitunnit-taulukossa on palvelupyyntöihin perustuvat tiedot siitä, kuinka monta tuntia henkilö on käyttänyt tiettyyn projektiin.
Projektitunnit
Matkalippu | Lähettäjä | Työaika | Projekti | DateSubmit |
---|---|---|---|---|
1001 | Laurinen, Kalevi | 22 | Sininen | 1/1/2013 |
1002 | Laurinen, Kalevi | 26 | Punainen | 2/1/2013 |
1003 | Repo, Aurora | 34 | Keltainen | 12/4/2012 |
1004 | Laurinen, Kalevi | 13 | Oranssi | 1/2/2012 |
1005 | Koivunen, Konsta | 29 | Purppura | 10/1/2013 |
1006 | Jutila, Pontus | 35 | Vihreä | 2/1/2013 |
1007 | Mallat, Manu | 10 | Keltainen | 10/1/2013 |
1008 | Pakarinen, Selma | 28 | Oranssi | 1/2/2012 |
1009 | Repo, Aurora | 22 | Purppura | 2/1/2013 |
1010 | Koivunen, Konsta | 28 | Vihreä | 10/1/2013 |
1011 | Koivunen, Konsta | 9 | Sininen | 10/15/2013 |
Tämä toinen Yritysprojekti-taulukko on luettelo projekteista, joille on määritetty prioriteetti: A, B tai C.
Yritysprojekti
ProjNimi | Prioriteetti |
---|---|
Sininen | A |
Punainen | B |
Vihreä | C |
Keltainen | C |
Purppura | B |
Oranssi | C |
Huomaa, että jokaisessa taulukossa on projektisarake. Kummassakin nimi on hieman erilainen, mutta arvot näyttävät olevan samat. Se ero on tärkeä, ja palaamme siihen pian.
Nyt kun kaksi taulukkoa on tuotu malliin, luodaanpa raportti. Haluamme ensimmäiseksi saada esiin lähetettyjen tuntien määrän projektin prioriteetin mukaan, joten valitsemme Kentät-ruudusta Prioriteetti ja Tunnit.
Raporttipohjalla olevaa taulukkoa tarkastelemalla nähdään, että jokaisen projektin tuntien määrä on 256 tuntia, mikä on myös kokonaismäärä. Tämä luku ei selvästikään ole oikein. Miksi? Tämä johtuu siitä, että emme voi laskea toisen taulukon arvojen summaa (Projekti-taulukon Tunnit-arvo), joka on ositettu toisen taulukon arvoilla (Yritysprojekti-taulukon Prioriteetti-arvo), ilman näiden kahden taulukon välistä suhdetta.
Luodaan siis suhde näiden kahden taulukon välille.
Muistatko molemmissa taulukoissa olevat sarakkeet, joilla on projektin nimi mutta samannäköiset arvot? Luomme näiden kahden sarakkeen avulla suhteen taulukoiden välille.
Miksi nämä sarakkeet? No, Projektitunnit-taulukon Projekti-sarakkeessa on arvoja kuten Sininen, Punainen, Keltainen, Oranssi ja niin edelleen. Itse asiassa näkyvissä on useita rivejä, joilla on sama arvo. Projektille on siis useita väriarvoja.
Yritysprojekti-taulukon ProjNimi-sarakkeessa kutakin väriarvoa on vain yksi. Tämän taulukon kukin väriarvo on yksilöllinen, mikä on tärkeää, koska voimme luoda näiden kahden taulukon välille suhteen. Tässä tapauksessa monta yhteen -suhde. Monta yhteen -suhteessa vähintään yhden taulukon sarakkeen on sisällettävä yksilöllisiä arvoja. Joillekin suhteille on lisää vaihtoehtoja, joita tarkastelemme myöhemmin. Luodaan nyt suhde kahden taulukon projektisarakkeiden välille.
Uuden suhteen luominen
Valitse Mallinnus-välilehdestä Suhteiden hallinta.
Valitse Suhteiden hallinta -kohdassa Uusi, jolloin Luo suhde -valintaikkuna avautuu. Siinä suhteeseen voidaan valita halutut taulukot, sarakkeet ja muut asetukset.
Valitse ensimmäisestä avattavasta luettelosta Projektitunnit ensimmäiseksi taulukoksi ja valitse sitten Projekti-sarake. Tämä puoli on *suhteen *monta-puoli.
Toisessa avattavassa luettelossa Yritysprojekti on esivalittu toiseksi taulukoksi. Valitse ProjNimi-sarake . Tämä puoli on suhteen yksi-osa .
Hyväksy suhdeasetusten oletusasetukset ja valitse sitten OK.
Valitse Suhteiden hallinta -valintaikkunassa Sulje.
Paljastamisen vuoksi loit tämän suhteen nyt vaikealla tavalla. Olisit voinut valita Automaattinen tunnistus -valinnan Suhteiden hallinta -valintaikkunassa. Itse asiassa automaattinen tunnistus olisi luonut suhteen automaattisesti puolestasi, kun latasit tiedot, jos molemmilla sarakkeilla olisi ollut sama nimi.
Tarkastellaan seuraavaksi taas raporttipohjalla olevaa taulukkoa.
Sehän näyttää nyt paljon paremmalta.
Kun tunnit lasketaan yhteen Prioriteetin mukaan, Power BI Desktop etsii Yritysprojekti-hakutaulukosta kaikki yksilölliset väriarvot ja sitten kaikkien näiden arvojen esiintymät Projektitunnit-taulukosta ja laskee sitten jokaisen yksilöllisen arvon kokonaismäärän.
Automaattisen tunnisuksen avulla et välttämättä joudu tekemään näinkään paljon.
Tietoja lisäasetuksista
Kun suhde luodaan joko automaattisella tunnisoinnilla tai manuaalisesti, Power BI Desktop määrittää automaattisesti lisäasetuksia taulukoiden tietojen perusteella. Nämä suhteiden lisäasetukset ovat Luo suhde- ja Muokkaa suhdetta -valintaikkunan alaosassa.
Power BI määrittää yleensä nämä asetukset automaattisesti, eikä sinun tarvitse muuttaa niitä. Joissakin tilanteissa saatat kuitenkin haluta määrittää nämä asetukset itse.
Automaattiset suhdepäivitykset
Voit hallita sitä, miten Power BI käsittelee ja mukauttaa automaattisesti suhteita raporteissasi ja malleissasi. Jos haluat määrittää, miten Power BI käsittelee suhdeasetuksia, valitse Power BI Desktopista Tiedosto>Asetukset ja vaihtoehdot>Asetukset ja valitse sitten vasemmasta ruudusta Tietojen lataaminen. Suhteet-vaihtoehdot tulevat näkyviin.
Valittavissa on kolme asetusta, jotka voidaan valita ja ottaa käyttöön:
Tuo suhteet tietolähteistä ensimmäisen lataamisen yhteydessä: Tämä asetus on oletusarvoisesti valittuna. Kun se on valittuna, Power BI tarkistaa tietolähteessä määritetyt suhteet, kuten viiteavain-/perusavain-suhteet tietovarastossa. Jos tällaisia suhteita on olemassa, ne peilataan myös Power BI -tietomalliin tietoja ladattaessa. Tämän asetuksen avulla voit aloittaa nopeasti mallisi käytön sen sijaan, että etsisit ja määrittäisit suhteet itse.
Päivitä tai poista suhteita, kun tiedot päivitetään: Oletusarvoisesti tämä asetus ei ole valittuna. Jos valitset sen, Power BI tarkistaa tietolähteen suhteisiin tehdyt muutokset, kun semanttinen mallisi päivitetään. Jos nämä suhteet muuttuvat tai ne poistetaan, Power BI peilaa muutokset omassa tietomallissaan päivittämällä tai poistamalla ne vastaamaan toisiaan.
Varoitus
Jos käytät rivitason suojausta, joka on riippuvainen määritetyistä suhteista, tämän asetuksen valitsemista ei suositella. Jos poistat suhteen, josta RLS-asetuksesi ovat riippuvaisia, mallisi suojaus voi heiketä.
Havaitse uudet suhteet automaattisesti tietojen lataamisen jälkeen: Tämä asetus on kuvattu artikkelissa Automaattinen tunnistus latauksen aikana.
Tietojen tulevat päivitykset edellyttävät eri kardinaliteettia
Power BI Desktop voi tavallisesti määrittää suhteen parhaan kardinaliteetin automaattisesti. Jos haluat kuitenkin ohittaa automaattisen asetuksen, koska tiedät tietojen muuttuvan tulevaisuudessa, voit muuttaa sitä Kardinaliteetti-ohjausobjektilla. Katsotaan esimerkkiä, jossa meidän on valittava eri kardinaliteetti.
Yritysprojektiprioriteetti-taulukko on luettelo yrityksen kaikista projekteista ja niiden prioriteetista. Projektibudjetti-taulukossa on ne projektit , joiden budjetti on hyväksytty.
Yritysprojektiprioriteetti
ProjNimi | Prioriteetti |
---|---|
Sininen | A |
Punainen | B |
Vihreä | C |
Keltainen | C |
Purppura | B |
Oranssi | C |
Projektibudjettitaulukko
Hyväksytyt projektit | BudgetAllocation | AllocationDate |
---|---|---|
Sininen | 40 000 | 12/1/2012 |
Punainen | 100 000 | 12/1/2012 |
Vihreä | 50,000 | 12/1/2012 |
Jos luomme suhteen Projektibudjetti-taulukon Hyväksytyt projektit -sarakkeen ja Yritysprojektiprioriteetti-taulukon ProjectName-sarakkeen välille, Power BI määrittää automaattisesti Kardinaliteeti-joukoksi Yksi yhteen (1:1) ja Ristisuodatussuunta-parametriksi Molemmat.
Power BI tekee nämä asetukset siksi, että Power BI Desktopin kahden taulukon paras yhdistelmä on seuraava:
ProjNimi | Prioriteetti | BudgetAllocation | AllocationDate |
---|---|---|---|
Sininen | A | 40 000 | 12/1/2012 |
Punainen | B | 100,000 | 12/1/2012 |
Vihreä | C | 50,000 | 12/1/2012 |
Keltainen | C | ||
Purppura | B | ||
Oranssi | C |
Taulukoiden välillä on yksi yhteen -suhde, koska yhdistettyjen taulukoiden ProjNimi-sarakkeessa ei ole toistuvia arvoja. ProjNimi-sarake on yksilöllinen, koska jokainen arvo esiintyy vain kerran; siksi kahden taulukon rivit voidaan yhdistää suoraan ilman kahdentamista.
Mutta oletetaan, että tiedät tietojen muuttuvan seuraavan kerran, kun päivität ne. Projektibudjetti-taulukon päivitetyssä versiossa on nyt ylimääräisiä sinisiä ja punaisia projekteja:
Projektibudjetti
Hyväksytyt projektit | BudgetAllocation | AllocationDate |
---|---|---|
Sininen | 40 000 | 12/1/2012 |
Punainen | 100 000 | 12/1/2012 |
Vihreä | 50,000 | 12/1/2012 |
Sininen | 80,000 | 6/1/2013 |
Punainen | 90,000 | 6/1/2013 |
Nämä lisärivit tarkoittavat sitä, että kahden taulukon paras yhdistelmä näyttää nyt tältä:
ProjNimi | Prioriteetti | BudgetAllocation | AllocationDate |
---|---|---|---|
Sininen | A | 40 000 | 12/1/2012 |
Punainen | B | 100,000 | 12/1/2012 |
Vihreä | C | 50,000 | 12/1/2012 |
Keltainen | C | ||
Purppura | B | ||
Oranssi | C | ||
Sininen | A | 80000 | 6/1/2013 |
Punainen | B | 90 000 | 6/1/2013 |
Tässä uudessa yhdistetyssä taulukossa ProjNimi-sarakkeessa on toistuvia arvoja. Alkuperäisillä taulukoilla ei ole yksi yhteen -suhdetta, kun taulukko päivitetään. Tässä tapauksessa, koska tiedämme tulevien päivitysten aiheuttavan kaksoisarvoja ProjNimi-sarakkeeseen, Kardinaliteetti-asetukseksi kannattaa vaihtaa Monta yhteen (*:1) niin, että monet ovat Projektibudjetti-taulukon puolella ja yksi Yritysprojektiprioriteetti-taulukon puolella.
Ristisuodatussuunnan säätäminen monimutkaisia taulukoita ja suhteita varten
Useimmissa suhteissa ristisuodatussuunnaksi on määritetty Molemmat. Joissakin harvinaisemmissa tilanteissa tämä asetus on määritettävä poikkeamaan oletusarvosta. Olet esimerkiksi tuomassa mallia Power Pivotin vanhemmasta versiosta, jossa kaikki suhteet on määritetty yksisuuntaisiksi.
Molemmat-asetuksen avulla Power BI Desktop voi käsitellä liitettyjen taulukoiden kaikkia ominaisuuksia yhtenä taulukkona. Joissakin tilanteissa Power BI Desktop ei kuitenkaan voi määrittää suhteiden ristisuodatussuuntaa Molemmat-asetuksen mukaiseksi sekä säilyttää yksiselitteistä oletusarvojoukkoa raportointia varten. Jos suhteen ristisuodatussuunnaksi ei ole määritetty Molemmat, se yleensä johtuu siitä, että molemmat aiheuttaisi moniselitteisyyttä. Jos oletusarvoinen ristisuodatin ei käy, kokeile määrittää asetus tiettyyn taulukkoon tai valitse asetukseksi Molemmat.
Yksisuuntainen ristisuodatus toimii monissa tilanteissa. Itse asiassa, jos olet tuonut mallin Excel 2013:n Power Pivot 2013:sta tai aiemmasta versiosta, kaikki suhteet on määritetty yksisuuntaisiksi. Yksisuuntainen tarkoittaa, että yhdistettyjen taulukoiden suodatusvalinnat toimivat siinä taulukossa, johon koostamistyöt tehdään. Ristisuodatuksen ymmärtäminen voi olla joskus hieman hankalaa, joten tarkastellaanpa esimerkkiä.
Jos yksisuuntaisen ristisuodatuksen avulla luot projektin tunnit sisältävän yhteenvedon sisältävän raportin, voit tehdä yhteenvedon (tai suodattaa) Yritysprojekti-taulukosta ja sen Prioriteetti-sarakkeesta tai YrityksenTyöntekijä-taulukosta ja sen Kaupunki-sarakkeesta. Jos kuitenkin haluat laskea työntekijöiden määrän projektia kohden (harvinaisempi kysymys), se ei toimi. Saat sarakkeen, jonka arvot ovat kaikki samoja. Seuraavassa esimerkissä molempien suhteiden ristisuodatuksen suunta on määritetty yksisuuntaiseksi Projektitunnit-taulukkoa kohti. Arvot-kentässä On Projekti-kentän asetuksena Määrä:
Suodattimen määritystä käytetään Yritysprojekti-taulukon ja Projektitunnit-taulukon suuntaan (kuten seuraavassa kuvassa) mutta ei vastavirtaan YrityksenTyöntekijä-taulukkoon.
Suodatin kuitenkin toimii, jos ristisuodatuksen suunnaksi määritetään Molemmat. Molemmat-asetuksen avulla suodattimen määritystä käytetään myös YrityksenTyöntekijä-funktioon.
Kun ristisuodatuksen suunnaksi on määritetty Molemmat, raportti näyttää oikealta:
Ristisuodatus molempiin suuntiin toimii hyvin aiemmin näytetyn mallin kaltaisille taulukkosuhteille. Tätä rakennetta kutsutaan yleisimmin tähtirakenteeksi, kuten tässä:
Ristisuodatuksen suunta ei toimi hyvin yleisempään tietokannoista usein löytyvän mallin kanssa, kuten tässä kaaviossa:
Jos sinulla on tällainen silmukoita sisältävä taulukkomalli, ristisuodatus voi luoda moniselitteisen suhdejoukon. Jos esimerkiksi lasket yhteen TableX-taulukon kentän ja suodatat sitten Y-taulukon kentän mukaan, ei ole selvää, miten suodattimen pitäisi kulkea, ylimmän taulukon tai alimman taulukon kautta. Tavallinen esimerkki tämäntyyppisestä mallista on se, ettäX-taulukko on myyntitietoja sisältävä taulukko ja Y-taulukossa on budjettitiedot. Sitten keskellä olevat taulukot ovat molempien taulukoiden käyttämiä hakutaulukoita, kuten jako tai alue.
Kuten aktiivisissa tai passiivissa yhteyksissä, Power BI Desktop ei salli suhteen määrittämista Molemmat-arvoon, jos se luo moniselitteisyyttä raporteissa. Voit käsitellä tätä tilannetta useilla eri tavoilla. Seuraavassa on kaksi yleisintä:
- Vähennä moniselitteisyyttä poistamalla suhteet tai merkitsemalla ne passiivisiksi. Sitten voit ehkä määrittää suhteen ristisuodatukseen Molemmat.
- Poista silmukat tuoden taulukon kahdesti (erinimisenä toisella kerralla). Tämä luo tähtirakennetta kaltaisten suhteiden mallin. Tähtirakennetta käytettäessä kaikki suhteet voidaan määrittää Molemikin-arvoksi.
Väärä aktiivinen suhde
Kun Power BI Desktop luo suhteita automaattisesti, se havaitsee joskus useamman kuin yhden suhteen kahden taulukon välillä. Kun näin tapahtuu, vain yksi suhteista määritetään aktiiviseksi. Aktiivinen suhde toimii oletussuhteena niin, että kun valitset kenttiä kahdesta eri taulukosta, Power BI Desktop voi luoda automaattisesti visualisoinnin puolestasi. Joissakin tapauksissa automaattisesti valittu suhde voi kuitenkin olla väärä. Suhteiden hallinta -valintaikkunan avulla voit määrittää suhteen aktiiviseksi tai passiiviseksi, tai voit määrittää aktiivisen suhteen Muokkaa suhdetta -valintaikkunassa.
Jotta voidaan varmistaa, että oletussuhde on aina olemassa, Power BI Desktop sallii kerrallaan vain yhden aktiivisen suhteen kahden taulukon välillä. Siksi sinun on ensin määritettävä nykyinen suhde passiiviseksi ja määritettävä sitten haluamasi suhde aktiiviseksi.
Tarkastellaan esimerkkiä. Ensimmäinen taulukko on ProjektinPalvelutaulukot ja toinen taulukko on TyöntekijänRooli.
ProjektinPalvelupyynnöt
Matkalippu | Avaaja | Lähettäjä | Työaika | Projekti | DateSubmit |
---|---|---|---|---|---|
1001 | Niemi, Tom | Laurinen, Kalevi | 22 | Sininen | 1/1/2013 |
1002 | Roomalainen, Daniel | Laurinen, Kalevi | 26 | Punainen | 2/1/2013 |
1003 | Roth, Daniel | Repo, Aurora | 34 | Keltainen | 12/4/2012 |
1004 | Niemi, Tom | Laurinen, Kalevi | 13 | Oranssi | 1/2/2012 |
1005 | Roomalainen, Daniel | Koivunen, Konsta | 29 | Purppura | 10/1/2013 |
1006 | Roth, Daniel | Jutila, Pontus | 35 | Vihreä | 2/1/2013 |
1007 | Roth, Daniel | Mallat, Manu | 10 | Keltainen | 10/1/2013 |
1008 | Niemi, Tom | Pakarinen, Selma | 28 | Oranssi | 1/2/2012 |
1009 | Roomalainen, Daniel | Repo, Aurora | 22 | Purppura | 2/1/2013 |
1010 | Roth, Daniel | Koivunen, Konsta | 28 | Vihreä | 10/1/2013 |
1011 | Niemi, Tom | Koivunen, Konsta | 9 | Sininen | 10/15/2013 |
TyöntekijänRooli
Työntekijä | Rooli |
---|---|
Jutila, Pontus | Projektipäällikkö |
Koivunen, Konsta | Projektijohto |
Laurinen, Kalevi | Projektipäällikkö |
Mallat, Manu | Projektijohto |
Pakarinen, Selma | Projektijohto |
Repo, Aurora | Projektijohto |
Niemi, Tom | Projektin rahoittaja |
Roomalainen, Daniel | Projektin rahoittaja |
Roth, Daniel | Projektin rahoittaja |
Tässä on itse asiassa kaksi suhdetta:
TyöntekijänRooli-taulukon Työntekijä-sarakkeen ja ProjektinPalvelupyynnöt-taulukon Lähettäjä-sarakkeen välinen suhde.
ProjektinPalvelupyynnöt-taulukon Avaaja-sarakkeen ja TyöntekijänRooli-taulukon Työntekijä-sarakkeen välinen suhde.
Jos molemmat suhteet lisätään malliin (Avaaja-suhde ensin), Suhteiden hallinta -valintaikkunassa näkyy, että Avaaja-suhde on aktiivinen:
Jos nyt luodaan raportti, joka käyttää TyöntekijänRooli-taulukon Rooli- ja Työntekijä-kenttiä ja ProjektinPalvelupyyntöjen Tunnit-kenttää taulukon visualisoinnissa raporttipohjassa, vain yhden projektin rahoittajat näkyvät, koska kukaan ei ole avannut projektin palvelupyyntöä.
Aktiivista suhdetta voidaan muuttaa lähettäjäksi Avaaja-kentän sijaan. Poista Suhteiden hallinta -kohdassa valinta parametrista ProjektinPalvelupyynnöt (Avaaja) ja TyöntekijänRooli (Työntekijä) suhde ja valitse sitten TyöntekijänRoolin (Työntekijä) ja ProjektinPalvelupyyntöjen (Lähettäjä) suhde.
Kaikkien suhteiden tarkasteleminen Suhde-näkymässä
Joskus mallissasi on useita taulukoita ja monimutkaisia suhteita. Power BI Desktopin Suhde-näkymässä voit tarkastella kaikkia mallin suhteita sekä niiden suuntia ja kardinaliteettia helppotajuisen ja mukautettavan kaavion avulla.
Lisätietoja on artikkelissa Power BI Desktopin suhdenäkymän käyttö.
Vianmääritys
Tässä osiossa on ohjeita ja vianmääritystietoja, kun suhteita käsitellään Power BI:ssä.
Kenttien välisiä suhteita ei voida määrittää
Power BI yrittää näyttää olennaisia tietoja visualisoinneissa päättämällä, että suhteet ovat peräisin käytetystä mallista. Joskus tällaiset päätelmiä ei ilmene, ja saatat yllättyä nähdessäsi visualisoinnissa virheen, joka ilmaisee, että tiettyjen sarakkeiden välillä ei ole suhdetta.
Selitetään, miten Power BI määrittää, liittyvätkö kentät toisiinsa, käytämme esimerkkimallia havainnollistamaan muutamia skenaarioita seuraavissa osissa. Seuraavassa kuvassa näkyy esimerkkimalli, jota käytämme esimerkkitilanteissa.
Skenaario 1: Perinteinen tähtirakenne, eikä mitään mittarirajoitteita ole annettu. Palataan edellisessä kuvassa esimerkkimalliin ja tarkastellaan ensin kuvien oikeaa puolta Toimittaja – Ostot – Tuote -taulukoilla. Tämä esimerkki on perinteinen tähtirakenne, jossa on faktataulukko (ostot) ja kaksi dimensiotaulukkoa (Tuote ja Toimittaja). Dimensiotaulukoiden ja faktataulukon välinen suhde on 1 moneen (yksi tuote vastaa useita ostoksia, yksi toimittaja vastaa useita ostoja). Tämäntyyppisessä rakenteessa voidaan vastata kysymyksiin, kuten Mikä myynti tuotteelle X on? ja Mitä myyntiä meillä on Toimittaja Y:tä varten? ja Mitä tuotteita toimittaja Y myy?
Jos haluamme korreloida Tuotteita ja toimittajia, voimme tehdä sen katsomalla Ostot-taulukkoa , jotta näemme, onko samassa tuotteessa ja toimittajassa merkintä. Mallikysely voi näyttää esimerkiksi seuraavalta:
Correlate Product[Color] with Vendor[Name] where CountRows(Purchases)>0
where CountRows(Purchases)>0
on implisiittinen rajoite, jonka Power BI lisää asianmukaisten tietojen palauttamisen varmistamiseksi.
Tekemällä tämän korrelaation Ostot-taulukon kautta voimme palauttaa tuote-toimittaja-parit, joissa on vähintään yksi merkintä faktataulukossa, sekä parit, jotka ovat järkeviä tietojen näkökulmasta. Voit odottaa, että mitään järjen ulkopuolisia tuote-toimittajayhdistelmiä, joille ei ole koskaan ollut myyntiä (mikä olisi hyödytöntä analyysia varten), ei näytetä.
Skenaario 2: Perinteinen tähtirakenne ja mittarirajoitukset. Skenaarion 1 edellisessä esimerkissä, jos käyttäjä tarjoaa rajoitteen esimerkiksi yhteenvetosarakkeen (summa/keskiarvo/ostomäärä/ ostomäärä) tai mallimittarin (VendID:n erillisten määrä), Power BI voi luoda kyselyn seuraavan esimerkin muodossa:
Correlate Product[Color] with Vendor[Name] where MeasureConstraint is not blank
Tässä tapauksessa Power BI yrittää palauttaa yhdistelmiä, joilla on merkityksellisiä arvoja käyttäjän asettamalle rajoitteelle (muu kuin tyhjä). Power BI:n ei tarvitse lisätä myös omaa implisiittistä CountRows(Purchases)0-rajoitettansa>, kuten edellisessä skenaariossa 1, koska käyttäjän asettama rajoitus riittää.
Skenaario 3: Tähtirakenne ja mittarirajoitukset eivät ole annettu. Tässä skenaariossa keskitymme mallin keskelle, jossa meillä on Sales - Product – Purchases -taulukot , joissa on yksi dimensiotaulukko (Tuote) ja kaksi faktataulukkoa (Myynti, Ostot). Koska tämä esimerkki ei ole tähtirakenne, emme voi vastata samanlaisiin kysymyksiin kuin skenaariossa 1. Oletetaan, että yritämme korreloida ostoja ja myyntiä, koska ostoilla on monta yhteen -suhde tuotteeseen ja tuotteella on 1 moneen -suhde myyntiin. Myynti ja ostot välillisesti monta moneen. Voimme linkittää yhden tuotteen moneen ostoon ja yhden tuotteen useisiin myynteihin, mutta emme voi linkittää yhtä myyntiä moneen ostoon tai päinvastoin. Voimme linkittää vain monta ostoa useisiin myyntiin.
Jos tässä tilanteessa yritämme yhdistää Purchase[VenID] - ja Sales[CustID] -funktiot visualisointiin, Power BI:llä ei ole mitään konkreettista rajoitusta, joka johtuu näiden taulukoiden välisestä monta moneen -suhteesta. Vaikka tiettyjä mukautettuja rajoituksia voi olla (jotka eivät välttämättä johdu mallissa määritetyistä suhteista), joita voidaan käyttää eri skenaarioissa, Power BI ei voi päätellä oletusrajoitusta pelkästään yhteyksien perusteella. Jos Power BI yrittäisi palauttaa kaikki kahden taulukon yhdistelmät, se loisi suuren ristiliitoksen ja palauttaisi ei-oleelliset tiedot. Tämän sijaan Power BI aiheuttaa visualisoinnissa virheen, kuten seuraavan.
Skenaario 4: Muuta kuin tähtirakennetta ja mittarirajoitteita annettu. Jos otetaan esimerkki skenaariosta 3 ja lisätään käyttäjän tarjoama rajoitus yhteenvedetyn sarakkeen (esimerkiksi Tuotemäärä[ProdID] tai mallimittarin (Myynti[Kokonaismäärä]) muodossa, Power BI voi luoda kyselyn Korrelaatioosto[VenID] ja Sales[CustID], jossa MeasureConstraint ei ole tyhjä.
Tässä tapauksessa Power BI pitää käyttäjän rajoitetta ainoana rajoitteena, jota Power BI:n tulee noudattaa, ja palauttaa yhdistelmiä, jotka tuottavat sille muita kuin tyhjiä arvoja. Käyttäjä on ohjannut Power BI:n haluttuun skenaarioon, ja Power BI soveltaa ohjeita.
Skenaario 5: Kun mittarin rajoitus on annettu, mutta se liittyy osittain sarakkeisiin. Joissakin tapauksissa käyttäjän asettama mittarirajoite ei liity täysin kaikkiin visualisoinnin sarakkeisiin. Mallin mittari liittää aina kaiken toisiinsa. Power BI käsittelee tätä skenaariota mustana ruutuna, kun se yrittää löytää suhteita visualisoinnin sarakkeiden välillä, ja siinä oletetaan, että käyttäjä tietää mitä tekee käyttämällä sitä. Käyttöliittymästä valitut yhteenvedetyt sarakkeet summan, keskiarvon ja samankaltaisten yhteenvetojen muodossa voivat kuitenkin liittyä vain niiden sarakkeiden/taulukoiden alijoukkoon, joita käytetään visualisoinnissa sen taulukon suhteiden perusteella, johon sarake kuuluu. Näin ollen tämä rajoitus koskee joitakin sarakkeiden pareja, mutta ei kaikkia. Tässä tapauksessa Power BI yrittää löytää oletusrajoituksia, joita se voi soveltaa sarakkeisiin, jotka eivät liity käyttäjän antamiin rajoitteisiin (kuten skenaariossa 1). Jos Power BI ei löydä yhtään, saat seuraavan virheilmoituksen.
Suhdevirheiden ratkaiseminen
Kun näet Kenttien välisiä suhteita ei voi määrittää -virhesanoman, voit yrittää ratkaista virheen suorittamalla seuraavat vaiheet:
Tarkista mallisi. Onko se määritetty oikein niille kysymystyypeille, joihin haluat vastata analyysistäsi? Voitko muuttaa joitakin taulukoiden välisiä suhteita? Voitko välttää epäsuorien monta moneen -yhteyksien luomisen?
Harkitse käänteisen V-muotorakenteen muuntamista kahdeksi taulukoksi ja käytä niiden välistä suoraa monta moneen -suhdetta artikkelissa Monta moneen -yhteyksien käyttäminen Power BI Desktopissa kuvatulla tavalla.
Lisää visualisointiin rajoite yhteenvetosarakkeen tai mallimittarin muodossa.
Jos yhteenvetosarake lisätään ja virhe on edelleen olemassa, harkitse mallimittarin käyttämistä.
Liittyvä sisältö
Lisätietoja malleista ja suhteista on seuraavissa artikkeleissa: