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 sinun ei tarvitse tehdä mitään. 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.

Animation showing how to create a relationship with autodetect.

Suhteen luominen manuaalisesti

  1. Valitse Mallinnus-välilehdessä Suhteiden>hallinta Uusi.

  2. Valitse taulukko Luo suhde -valintaikkunan ensimmäisen taulukon avattavasta luettelosta. Valitse sarake, jota haluat käyttää suhteessa.

  3. Valitse toisen taulukon avattavasta luettelosta toinen taulukko, jonka haluat suhteeseen. Valitse toinen sarake, jota haluat käyttää, ja valitse sitten OK.

    Animation showing how to create a manual relationship.

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 yhdistetää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.

Screenshot of adjusting relationships in the properties pane.

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.

Screenshot of the edit relationship window.

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 käsittelee muutokset 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 yksisuuntaisia.

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:

  1. Kopioi seuraava Projektitunnit-taulukko Excel-laskentataulukkoon (otsikko pois lukien), valitse kaikki solut ja valitse sitten Lisää>taulukko.
  2. Valitse Luo taulukko -valintaikkunassa OK.
  3. Valitse mikä tahansa taulukon solu, valitse Taulukon rakenne>Taulukon nimi ja kirjoita sittenProjektitunnit.
  4. Tee sama Yritysprojekti-taulukolle.
  5. 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

Lipun Lähettäjä Tuntia 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.

Screenshot of the Priority and Hours fields selected from the Fields pane.

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-sarakkeessaon 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-sarakkeessakutakin 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

  1. Valitse Mallinnus-välilehdestä Suhteiden hallinta.

  2. Valitse Suhteiden hallinta -kohdassa Uusi, jolloin Luo suhde -valintaikkuna avautuu. Siinä suhteeseen voidaan valita halutut taulukot, sarakkeet ja muut asetukset.

  3. Valitse ensimmäisestä avattavasta luettelosta Projektitunnit ensimmäiseksi taulukoksi ja valitse sitten Projekti-sarake. Tämä puoli on suhteen monta-osa .

  4. Toisessa avattavassa luettelossa Yritysprojekti on esivalittu toiseksi taulukoksi. Valitse ProjNimi-sarake . Tämä puoli on suhteen yksi-osa .

  5. Hyväksy suhdeasetusten oletusasetukset ja valitse sitten OK.

    Screenshot of the Create relationship dialog box.

  6. 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.

Screenshot of the Priority and Hours fields selected from the Fields pane with new relationship.

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.

Screenshot of the lower portion of the Create relationship dialog box showing Cardinality and Cross filter direction options.

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.

Screenshot of the Options box showing the Relationships settings in the Data Load tab.

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

Projektibudjetti

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-parametriksiMolemmat.

Screenshot of the Create relationship dialog box with Cardinality to One to one (1:1) and Cross filter direction to Both.

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-asetukseksikannattaa 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änasetuksena Määrä:

Screenshot of the visualization tab used with the Employee and Project fields.

Suodattimen määritystä käytetään Yritysprojekti-taulukonja Projektitunnit-taulukon suuntaan (kuten seuraavassa kuvassa) mutta ei vastavirtaan YrityksenTyöntekijä-taulukkoon.

Diagram of a cross filtering example with flow from CompanyProject to ProjectHours.

Suodatin kuitenkin toimii, jos ristisuodatuksen suunnaksi määritetään Molemmat. Molemmat-asetuksen avulla suodattimen määritystä käytetään myös YrityksenTyöntekijä-funktioon.

Diagram of a cross filtering example with flow both ways

Kun ristisuodatuksen suunnaksi on määritetty Molemmat, raportti näyttää oikealta:

Screenshot of cross filtering direction set to Both.

Ristisuodatus molempiin suuntiin toimii hyvin aiemmin näytetyn mallin kaltaisille taulukkosuhteille. Tätä rakennetta kutsutaan yleisimmin tähtirakenteeksi, kuten tässä:

Diagram of cross filtering both directions in star schema.

Ristisuodatuksen suunta ei toimi hyvin yleisempään tietokannoista usein löytyvän mallin kanssa, kuten tässä kaaviossa:

Diagram of cross filtering in both directions on a database pattern.

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.

ProjectTickets

Lipun Avaaja Lähettäjä Tuntia 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än rooli

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.

Screenshot of a two-relationship example.

Jos molemmat suhteet lisätään malliin (Avaaja-suhde ensin), Suhteiden hallinta -valintaikkunassa näkyy, että Avaaja-suhde on aktiivinen:

Screenshot of a OpenedBy active in the Manage relationships dialog box.

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öä.

Screenshot shows the Employee, Role, and Hours fields selected.

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.

Screenshot of changing the active relationship in the Manage relationship dialog box.

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.

Screenshot of a sample model used in troubleshooting scenarios.

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 tuotteellaon 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.

Screenshot of an error dialog when relationship can’t be inferred. Alternatively, Screenshot of an error dialog where relationship isn’t inferred.

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.

Screenshot of an error dialog when Power BI can’t find default constraints.

Suhdevirheiden ratkaiseminen

Kun näet Kenttien välisiä suhteita ei voi määrittää -virhesanoman, voit yrittää ratkaista virheen suorittamalla seuraavat vaiheet:

  1. 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.

  2. Lisää visualisointiin rajoite yhteenvetosarakkeen tai mallimittarin muodossa.

  3. Jos yhteenvetosarake lisätään ja virhe on edelleen olemassa, harkitse mallimittarin käyttämistä.

Lisätietoja malleista ja suhteista on seuraavissa artikkeleissa: