Jaa


Kaksisuuntaisen suhteen ohjeet

Tämä artikkeli koskee tietojen mallintajaa, joka työskentelee Power BI Desktopin kanssa. Artikkelissa on ohjeita siitä, milloin tulee luoda kaksisuuntaiset mallisuhteet. Kaksisuuntainen suhde on suhde, jossa suodatetaan molempiin suuntiin.

Muistiinpano

Tämä artikkeli ei johdata malliyhteyksiin. Jos et ole täysin perehtynyt suhteisiin, niiden ominaisuuksiin tai niiden määrittämiseen, suosittelemme, että luet ensin Mallien suhteet Power BI Desktopissa -artikkelin.

On myös tärkeää, että ymmärrät tähtirakenteen suunnittelun. Lisätietoja on kohdassa Tutustu tähtirakenteeseen ja sen merkitykseen Power BI:ssä.

Yleisesti ottaen on suositeltavaa vähentää kaksisuuntaisten suhteiden käyttöä. Tämä johtuu siitä, että ne voivat heikentää mallikyselyn suorituskykyä ja mahdollisesti aiheuttaa raporttisi käyttäjille hämmentäviä kokemuksia.

Kaksisuuntainen suodatus voi kuitenkin vastata tiettyihin vaatimuksiin kolmessa tilanteessa:

Erityiset mallisuhteet

Kaksisuuntaiset suhteet ovat tärkeässä roolissa, kun luodaan kahta seuraavaa erityistä mallisuhdetyyppiä:

  • Yksi yhteen: Kaikkien yksi yhteen -suhteiden on oltava kaksisuuntaiisia – muulla tavalla niitä ei voi määrittää. Emme yleensä suosittele tällaisten suhteiden luomista. Täydelliset keskustelut ja vaihtoehtoiset suunnittelutavat ovat artikkelissa Yksi-yhteen-suhteen ohjeet .
  • monta moneen -: Kahden dimensiotaulukonliittämiseen tarvitaan välitaulukko,. Kaksisuuntaisen suodattimen avulla varmistetaan, että suodattimet leviävät välitaulukon kautta. Jos haluat lisätietoja, katso monta moneen -suhteen ohjeet.

Osittajan asetukset "ja tiedot"

Kaksisuuntaiset suhteet voivat tarjota osittajia, jotka rajaavat vaihtoehtoja tietojen olemassa oleviin kohtiin. (Jos tunnet Excelin pivot-taulukot ja osittajat, se on oletustoiminta, kun tietoja hankintaan Power BI:n semanttisesta mallista tai Analysis Services -mallista.) Tutustu ensin seuraavaan mallikaavioon, joka auttaa selittämään, mitä se tarkoittaa.

Kaavio, joka näyttää kolme taulukkoa sisältävän mallin. Rakenne kuvataan seuraavassa kappaleessa.

Ensimmäisen taulukon nimi on Customer., ja se sisältää kolme saraketta: Country-Region, Customerja CustomerCode. Toisen taulukon nimi on Product, ja se sisältää kolme saraketta: Color, Productja SKU. Kolmannen taulukon nimi on Sales, ja se sisältää neljä saraketta: CustomerCode, OrderDate, Quantityja SKU. Customer- ja Product-taulukot ovat dimensiotaulukoita, ja jokaisella on yksi moneen -suhde Sales-taulukkoon. Kukin suhde suodattaa yhteen suuntaan.

Mallikaaviota on muokattu taulukon rivien paljastamiseksi, jotta voidaan kuvata kaksisuuntaisen suodatuksen toimintaa. Kaikki tämän artikkelin esimerkit perustuvat näihin tietoihin.

Kaavio, joka näyttää, että malli näyttää nyt taulukon rivit. Rivien tiedot kuvataan seuraavassa kappaleessa.

Kolmen taulukon rivien tiedot kerrotaan seuraavassa luettelossa:

  • Customer taulukossa on kaksi riviä:
    • CustomerCode CUST-01, CustomerCustomer-1, Country-RegionUnited States
    • CustomerCode CUST-02, CustomerCustomer-2, Country-RegionAustralia
  • Product taulukossa on kolme riviä:
    • SKU CL-01, ProductT-shirt, ColorGreen
    • SKU CL-02, ProductJeans, ColorBlue
    • SKU AC-01, ProductHat, ColorBlue
  • Sales taulukossa on kolme riviä:
    • OrderDate 1. tammikuuta 2019, CustomerCodeCUST-01, SKUCL-01, Quantity10
    • OrderDate 2. helmikuuta 2019, CustomerCodeCUST-01, SKUCL-02, Quantity20
    • OrderDate 3. maaliskuuta 2019, CustomerCodeCUST-02, SKUCL-01, Quantity30

Tutustu sitten seuraavaan raporttisivuun.

Kaavio, joka näyttää kolme visualisointia sisältävän raporttisivun. Ne kuvataan seuraavassa kappaleessa.

Sivulla on kaksi osittajaa ja kortin visualisointi. Ensimmäinen osittaja perustuu Country-Region-kenttään, ja siinä on kaksi vaihtoehtoa: Australia ja Yhdysvallat. Tällä hetkellä osittaa osittajan Australian mukaan. Toinen osittaja perustuu Product-kenttään, ja siinä on kolme vaihtoehtoa: Hat, Jeans ja T-shirt. Kohteita ei ole valittu (eli mitään tuotteita ei suodateta). Kortin visualisoinnissa näkyy määrä, joka on 30.

Kun raportin käyttäjät osittavat tiedot Australian mukaan, haluat ehkä rajoittaa tuoteosittajan näyttämään asetukset, joissa tiedot liittyvät Australian myyntiin. Tällöin näytetään osittajan vaihtoehdot , "joissa on tietoja". Voit toteuttaa tämän toiminnan määrittämällä Product ja Sales taulukoiden välisen suhteen suodattamaan molempiin suuntiin.

kaavio, joka näyttää mallin, jonka mukaan Product- ja Sales-taulukoiden välinen suhde on nyt kaksisuuntainen.

Tuotteen osittajassa on nyt yksi vaihtoehto: T-shirt. Tämä vaihtoehto edustaa ainoaa australialaisille asiakkaille myytyä tuotetta.

Kaavio, joka näyttää kolme visualisointia sisältävän raporttisivun Product korostettuna. Ne kuvataan seuraavassa kappaleessa.

Suosittelemme harkitsemaan huolellisesti, sopiiko tämä rakenne raporttisi käyttäjille. Jotkin raportin käyttäjät pitävät käyttökokemusta hämmentävänä, koska he eivät ymmärrä, miksi osittaja-asetukset tulevat näkyviin tai katoavat dynaamisesti, kun he käsittelevät muita osittajia.

Jos päätät näyttää osittajan asetukset, "joissa on tietoja", emme suosittele kaksisuuntaisten suhteiden määrittämistä. Kaksisuuntaiset suhteet edellyttävät enemmän käsittelyä, joten ne voivat vaikuttaa negatiivisesti kyselyn suorituskykyyn – varsinkin kun kaksisuuntaisten suhteiden määrä mallissa kasvaa.

Saman tuloksen voi saavuttaa paremmallakin tavalla: Kaksisuuntaisten suodattimien sijasta voit käyttää visualisointitason suodatinta itse tuoteosittajaan.

Ajatellaan, että Product ja Sales taulukoiden välinen suhde ei enää suodata molempiin suuntiin. Lisäksi Sales-taulukkoon on lisätty seuraava mittarimääritys.

Total Quantity = SUM(Sales[Quantity])

Jos haluat näyttää tuotteen osittajan asetukset, "joissa on tietoja", se on yksinkertaisesti suodatettava Total Quantity mittarin mukaan käyttämällä ehtoa "ei ole tyhjä".

kaaviosta, joka näyttää, että Product-osittajan Suodattimet-ruutu suodattaa nyt Total Quantity -sarakkeen mukaan, ei ole tyhjä.

Dimensioiden ja dimension analyysi

Toisenlainen kaksisuuntaisiin suhteisiin liittyvä skenaario käsittelee faktataulukkoa kuin välitaulukkoa välitaulukkoa. Näin se tukee dimensiotaulukon tietojen analysointia toisen dimensiotaulukon suodatinkontekstissa.

Käytetään tämän artikkelin esimerkkimallia ja pohditaan, miten seuraaviin kysymyksiin voidaan vastata:

  • Montako väriä australialaisille asiakkaille myytiin?
  • Kuinka monesti maista tai alueista ostettiin farkkuja?

Molempiin kysymyksiin voidaan vastata ilman, että välitietotaulukon tiedoista tehdä yhteenvetoa. Ne kuitenkin edellyttävät, että suodattimet välitettävät yhdestä dimensiotaulukosta toiseen. Kun suodattimia välitetään faktataulukon kautta, dimensiotaulukon sarakkeiden yhteenveto voidaan tehdä käyttämällä DAX-funktiolla DISTINCTCOUNT – ja mahdollisesti DAX-funktiolla MIN-- ja MAX -funktioita.

Faktataulukon käyttäytyessä välitaulukkona voit käyttää monta moneen -suhteen ohjeita kahden dimensiotaulukon liittämiseen. Vähintään yksi suhde on määritettävä suodattamaan molempiin suuntiin. Jos haluat lisätietoja, katso monta moneen -suhteen ohjeet.

Kuten tässä artikkelissa on kuitenkin jo kuvattu, tämä rakenne vaikuttaa todennäköisesti haitallisesti suorituskykyyn ja vaikuttaa käyttäjäkokemukseen, joka liittyy osittaja-asetuksiin ,joissa on tietoja,. On siis suositeltavaa aktivoida kaksisuuntainen suodatus mittarimäärityksessä käyttämällä sen sijaan DAX-funktiota CROSSFILTER . CROSSFILTER-funktiolla voit lausekkeen arvioinnin aikana muokata suodatuksen ohjeita – tai jopa poistaa suhteen käytöstä.

Katso seuraavaa mittarimääritystä, joka lisättiin Sales-taulukkoon. Tässä esimerkissä Customer- ja Sales-taulukoiden välinen mallisuhde on määritetty suodattamaan yhteen suuntaan .

Different Countries Sold =
CALCULATE(
    DISTINCTCOUNT(Customer[Country-Region]),
    CROSSFILTER(
        Customer[CustomerCode],
        Sales[CustomerCode],
        BOTH
    )
)

Different Countries Sold mittarin arvioinnin aikana Customer ja Sales taulukoiden välinen suhde suodatetaan molempiin suuntiin.

Seuraavassa taulukossa esitetään kunkin myydyn tuotteen nykyiset tilastotiedot. Quantity sarake on yksinkertaisesti määräarvojen summa. Different Countries Sold -sarake edustaa kaikkien tuotteen ostaneiden asiakkaiden erillisten maa-alue-arvojen määrää.

kaavio, joka näyttää, että taulukon visualisoinnissa näkyy kaksi tuotetta. Different Countries Sold -sarakkeessa Jeans (farkut) on 1 ja T-shirt (t-paita) on 2.

Saat lisätietoja tähän artikkeliin liittyen tutustumalla seuraaviin resursseihin: