Jaa


Johdannaisparametrien käyttö sivutetuissa raporteissa

Tämä artikkeli koskee raportin laatijaa, joka suunnittelee Power BI sivutettuja raportteja. Se tarjoaa skenaarioita johdannaisparametrien suunnitteluun. Johdannaisparametrit ovat raportin parametreja, joilla on riippuvuussuhteita. Kun raportin käyttäjä valitsee parametrin arvon (tai arvot), sen avulla voidaan määrittää toisen parametrin käytettävissä olevat arvot.

Muistiinpano

Tässä artikkelissa ei esitellä johdannaisparametreja eikä niiden määrittämistä. Jos et ole perehtynyt johdannaisparametreihin, suosittelemme, että luet ensin Johdannaisparametrien lisääminen raporttiin Power BI:n raportin muodostimessa.

Suunnitteluskenaariot

Johdannaisparametrien käyttämiseen on kaksi suunnitteluskenaariota. Niitä voidaan käyttää tehokkaasti

  • Suurien tietojoukkojen suodattaminen
  • Olennaisten kohteiden

Esimerkki tietokannasta

Tämän artikkelin esimerkit perustuvat Azuren SQL-tietokantaan. Tietokanta kirjaa myyntitoiminnot ja sisältää erilaisia taulukoita, jotka tallentavat jälleenmyyjiä, tuotteita ja myyntitilauksia.

Taulukko nimeltä Reseller tallentaa kullekin jälleenmyyjälle yhden tietueen ja sisältää useita tuhansia tietueita. Reseller taulukossa on seuraavat sarakkeet:

  • ResellerCode (kokonaisluku)
  • ResellerName
  • Country-Region
  • State-Province
  • Kaupunki
  • Postinumero

On olemassa myös taulukko nimeltä Sales. Se tallentaa myyntitilaustietueet ja sillä on viiteavainsuhde Reseller-taulukkoon ResellerCode sarakkeessa.

Esimerkki vaatimuksesta

Jälleenmyyjän profiilia koskevan raportin laatimista vaaditaan. Raportti on suunniteltava siten, että se näyttää yksittäisen jälleenmyyjän tiedot. Ei ole asianmukaista, että raportin käyttäjä syöttää jälleenmyyjän koodin, koska hän harvoin muistaa sitä.

Suurien kohdejoukkojen suodattaminen

Tarkastellaanpa kolmea esimerkkiä, joiden avulla voit rajoittaa suurten käytettävissä olevien kohteiden joukkoa, kuten jälleenmyyjiä. Ne ovat seuraavat:

Tässä esimerkissä raportin käyttäjä soveltaa viittä raportin parametria. Käyttäjän on valittava maa tai alue, osavaltio tai maakunta, kaupunki ja postinumero. Viimeisessä parametrissa luetellaan jälleenmyyjät, jotka asuvat kyseisessä maantieteellisessä sijainnissa.

Näyttökuva Power BI:n sivutetun raportin parametreista, jotka näyttävät suodattimen liittyvien sarakkeiden mukaan.

Voit kehittää johdannaisparametrit seuraavasti:

  1. Luo viisi raportin parametria, jotka on järjestetty oikeaan järjestykseen.

  2. Luo CountryRegion -tietojoukko, joka hakee erilliset maa- tai aluearvot, käyttämällä seuraavaa kyselylauseketta:

    SELECT DISTINCT
      [Country-Region]
    FROM
      [Reseller]
    ORDER BY
      [Country-Region]
    
  3. Luo StateProvince -tietojoukko, joka hakee valitun maan tai alueen erilliset osavaltio- tai maakunta-arvot, käyttämällä seuraavaa kyselylauseketta:

    SELECT DISTINCT
      [State-Province]
    FROM
      [Reseller]
    WHERE
      [Country-Region] = @CountryRegion
    ORDER BY
      [State-Province]
    
  4. Luo City -tietojoukko, joka hakee valitun maan tai alueen erilliset kaupunkiarvot, käyttämällä seuraavaa kyselylauseketta:

    SELECT DISTINCT
      [City]
    FROM
      [Reseller]
    WHERE
      [Country-Region] = @CountryRegion
      AND [State-Province] = @StateProvince
    ORDER BY
      [City]
    
  5. Luo tämän mallin avulla PostalCode tietojoukko.

  6. Luo Reseller -tietojoukko, jotta voit hakea valittujen maantieteellisten arvojen kaikki jälleenmyyjät, käyttämällä seuraavaa kyselylauseketta:

    SELECT
      [ResellerCode],
      [ResellerName]
    FROM
      [Reseller]
    WHERE
      [Country-Region] = @CountryRegion
      AND [State-Province] = @StateProvince
      AND [City] = @City
      AND [PostalCode] = @PostalCode
    ORDER BY
      [ResellerName]
    
  7. Yhdistä jokaisen tietojoukon ensimmäistä lukuun ottamatta kyselyparametrit vastaaviin raportin parametreihin.

Muistiinpano

Kaikki näissä esimerkeissä näytetyt kyselyparametrit (edessä @-symboli) voidaan upottaa SELECT-lausekkeisiin tai välittää tallennettuihin toimintosarjoihin.

Yleensä tallennetut toimintosarjat ovat parempi rakennemenetelmä. Tämä johtuu siitä, että niiden kyselysuunnitelmat on tallennettu välimuistiin nopeampaa suoritusta varten, ja niiden avulla voit kehittää edistyneempää logiikkaa tarvittaessa. Niitä ei kuitenkaan tällä hetkellä tueta yhdyskäytävään liittyviä tietolähteitä (SQL Server, Oracle ja Teradata) varten.

Lopuksi on aina varmistettava, että käytössä on sopivat indeksit, jotta tiedot haetaan tehokkaasti. Muussa tapauksessa raportin parametrien täyttäminen voi olla hidasta, ja tietokanta voi ylikuormittua. Lisätietoja SQL Server -indeksoinnista on artikkelissa SQL Serverin indeksiarkkitehtuuri- ja suunnitteluopas.

Suodata ryhmittelysarakkeen mukaan

Tässä esimerkissä raportin käyttäjä soveltaa raportin parametria jälleenmyyjän ensimmäisen kirjaimen valitsemiseksi. Toinen parametri luettelee sitten jälleenmyyjät, kun nimi alkaa valitulla kirjaimella.

Näyttökuva Sivutetun raportin Power BI -parametreista, jotka näyttävät suodattimen ryhmittelysarakkeen mukaan.

Voit kehittää johdannaisparametrit seuraavasti:

  1. Luo ReportGroup ja Reseller -raportin parametrit, jotka on järjestetty oikeaan järjestykseen.

  2. Luo ReportGroup-tietojoukko, jotta voit hakea kaikkien jälleenmyyjien käyttämät ensimmäiset kirjaimet, käyttämällä seuraavaa kyselylauseketta:

    SELECT DISTINCT
      LEFT([ResellerName], 1) AS [ReportGroup]
    FROM
      [Reseller]
    ORDER BY
      [ReportGroup]
    
  3. Luo Reseller -tietojoukko, jotta voit hakea valitulla kirjaimella alkavat kaikki jälleenmyyjät, käyttämällä seuraavaa kyselylauseketta:

    SELECT
      [ResellerCode],
      [ResellerName]
    FROM
      [Reseller]
    WHERE
      LEFT([ResellerName], 1) = @ReportGroup
    ORDER BY
      [ResellerName]
    
  4. Liitä Reseller -tietojoukon kyselyparametri vastaavaan raporttiparametriin.

Ryhmittelysarake kannattaa lisätä Reseller-taulukkoon. Kun se on jatkuva ja indeksoitu, se tuottaa parhaan tuloksen. Lisätietoja on kohdassa Laskettujen sarakkeiden määrittäminen taulukon.

ALTER TABLE [Reseller]
ADD [ReportGroup] AS LEFT([ResellerName], 1) PERSISTED

Tämä tekniikka voi tarjota vieläkin enemmän mahdollisuuksia. Harkitse seuraavaa komentosarjaa, joka lisää uuden ryhmittelysarakkeen jälleenmyyjien suodattamiseksi ennalta määritettyjen kirjainryhmien mukaan. Se luo myös indeksin, joka hakee tehokkaasti raportin parametrien edellyttämät tiedot.

ALTER TABLE [Reseller]
ADD [ReportGroup2] AS CASE
  WHEN [ResellerName] LIKE '[A-C]%' THEN 'A-C'
  WHEN [ResellerName] LIKE '[D-H]%' THEN 'D-H'
  WHEN [ResellerName] LIKE '[I-M]%' THEN 'I-M'
  WHEN [ResellerName] LIKE '[N-S]%' THEN 'N-S'
  WHEN [ResellerName] LIKE '[T-Z]%' THEN 'T-Z'
  ELSE '[Other]'
END PERSISTED
GO

CREATE NONCLUSTERED INDEX [Reseller_ReportGroup2]
ON [Reseller] ([ReportGroup2]) INCLUDE ([ResellerCode], [ResellerName])
GO

Suodata hakumallin mukaan

Tässä esimerkissä raportin käyttäjä soveltaa raportin parametria hakumallin syöttämistä. Toinen parametri luettelee sitten jälleenmyyjät, kun nimi sisältää mallin.

Power BI:n sivutetun raportin parametrien näyttökuva, joka näyttää suodattimen hakumallin mukaan.

Voit kehittää johdannaisparametrit seuraavasti:

  1. Luo Search - ja Reseller -raportin parametrit, jotka on järjestetty oikeaan järjestykseen.

  2. Luo Reseller -tietojoukko, jotta voit hakea hakutekstin sisältävät kaikki jälleenmyyjät, käyttämällä seuraavaa kyselylauseketta:

    SELECT
      [ResellerCode],
      [ResellerName]
    FROM
      [Reseller]
    WHERE
      [ResellerName] LIKE '%' + @Search + '%'
    ORDER BY
      [ResellerName]
    
  3. Liitä Reseller -tietojoukon kyselyparametri vastaavaan raporttiparametriin.

Juomaraha

Tämän mallin avulla voit tarjota raportin käyttäjille parempia hallintatoimintoja. Sen avulla he voivat määrittää arvon täsmäyttämisen oman mallinsa. Esimerkiksi hakuarvo "red%" suodattaa jälleenmyyjiin, joiden nimet alkavat merkeillä "red".

Lisätietoja on kohdassa LIKE (Transact-SQL).

Näin voit antaa raportin käyttäjien määrittää oman mallinsa.

WHERE
  [ResellerName] LIKE @Search

Monet käyttäjät, jotka eivät ole tietokanta-ammattilaisia, eivät kuitenkaan tiedä prosenttiosuuden (%) yleismerkkiä. Sen sijaan he tuntevat tähden (*). Muokkaamalla WHERE -lausetta voit antaa heidän käyttää tätä merkkiä.

WHERE
  [ResellerName] LIKE SUBSTITUTE(@Search, '%', '*')

Olennaisten kohteiden esittäminen

Tässä skenaariossa voit käyttää faktatietoja käytettävissä olevien arvojen rajoittamiseen. Raportin käyttäjille esitetään kohteet, joissa toiminta on tallennettu.

Tässä esimerkissä raportin käyttäjä soveltaa kolmea raportin parametria. Kaksi ensimmäistä joukkoa määrittää myyntitilausten päivämäärien päivämääräalueen. Kolmas parametri luettelee jälleenmyyjät, jotka ovat tehneet tilauksia kyseisenä ajanjaksona.

Näyttökuva sivutetun Power BI -raportin parametreista, jotka näyttävät kolme raporttiparametria: Start Order Date, End Order Date ja Reseller.

Voit kehittää johdannaisparametrit seuraavasti:

  1. Luo OrderDateStart-, OrderDateEnd, ja Reseller -raporttiparametrit, jotka on järjestetty oikeaan järjestykseen.

  2. Luo Reseller -tietojoukko, jotta voit hakea kaikki jälleenmyyjät, jotka loivat tilauksia päivämääräjaksolla, käyttämällä seuraavaa kyselylauseketta:

    SELECT DISTINCT
      [r].[ResellerCode],
      [r].[ResellerName]
    FROM
      [Reseller] AS [r]
    INNER JOIN [Sales] AS [s]
      ON [s].[ResellerCode] = [r].[ResellerCode]
    WHERE
      [s].[OrderDate] >= @OrderDateStart
      AND [s].[OrderDate] < DATEADD(DAY, 1, @OrderDateEnd)
    ORDER BY
      [r].[ResellerName]
    

Suosituksia

Suosittelemme, että suunnittelet raportit johdannaisparametrien avulla aina, kun se on mahdollista. Tämä johtuu siitä, että:

  • Takaat raporttisi käyttäjille intuitiivisia ja hyödyllisiä kokemuksia.
  • Ovat tehokkaita, koska ne hakevat pienempiä käytettävissä olevien arvojen joukkoja

Varmista, että optimoit tietolähteesi:

  • käyttämällä tallennettuja toimintosarjoja aina kun se on mahdollista,
  • Lisäämällä asianmukaiset indeksit tietojen tehokkaaksi hakemiseen
  • Materialisoimalla sarakkeiden arvot – ja jopa rivit – kalliiden kyselyaika-arviointien välttämiseksi

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