Raportin suodattaminen URL-osoitteen kyselymerkkijonoparametrien avulla

Kun avaat raportin Power BI -palvelu, raportin jokaisella sivulla on oma yksilöllinen URL-osoitteensa. Voit suodattaa raporttisivun käyttämällä Suodattimet-ruutua raportin piirtoalustalla. Voit myös lisätä kyselymerkkijonoparametreja URL-osoitteeseen raportin suodattamiseksi. Sinulla voi olla raportti, jonka haluat näyttää työtovereille, ja haluat suodattaa sen heille valmiiksi. Eräs tapa suodattaa se on aloittaa raportin oletus-URL-osoitteesta, lisätä suodatinparametreja URL-osoitteeseen ja lähettää sitten heille uusi URL-osoite kokonaisuudessaan sähköpostilla.

Tässä artikkelissa käytetään Jälleenmyyntianalyysimalli-raporttia. Jos haluat seurata mukana, voit ladata malliraportin.

Screenshot of Power BI report in the service.

Kyselymerkkijonoparametrien käyttötavat

Oletetaan, että käytät Power BI Desktopia. Haluat luoda raportin, jossa on linkit muihin Power BI -raportteihin, mutta haluat näyttää vain joitakin muiden raporttien tietoja. Suodata raportit ensin kyselymerkkijonoparametrien avulla ja tallenna URL-osoitteet. Luo seuraavaksi Desktopissa taulukko, jossa käytetään uusien raporttien URL-osoitteita. Sitten voit julkaista ja jakaa raportin.

Toinen kyselymerkkijonoparametrien käyttöaste on edistynyttä Power BI -ratkaisua luotaessa. DAX:ssä he luovat raportin, joka luo suodatetun raportin URL-osoitteen dynaamisesti asiakkaan nykyisessä raportissa tekemän valinnan perusteella. Kun asiakkaat valitsevat URL-osoitteen, he näkevät vain tarkoitetut tiedot.

Kyselyn merkkijonon parametrisyntaksi suodatusta varten

Parametreilla voit suodattaa raportista yhden tai useamman arvon, vaikka nämä arvot sisältäisit välilyöntejä tai erikoismerkkejä. Perussyntaksi on melko yksinkertainen; aloita raportin URL-osoitteesta, lisää kysymysmerkki ja lisää sitten suodattimen syntaksi.

URL?filter=Taulukkokenttä/ eq 'value'

Screenshot of U R L with filter.

  • Taulukko - ja Kenttä-nimissä kirjainkoko on merkitsevä. arvo ei ole.
  • Kentät, jotka on piilotettu raporttinäkymästä, voidaan edelleen suodattaa.

Kenttätyypit

Kenttätyyppi voi olla luku, päivämäärä ja aika tai merkkijono, ja käytetyn tyypin on vastattava semanttisessa mallissa määritettyä tyyppiä. Esimerkiksi taulukon sarakkeen määrittäminen merkkijonoksi ei toimi, jos etsit päivämääräksi määritetyssä semanttisessa mallisarakkeessa olevaa päivämäärä/aika-arvoa tai numeerista arvoa (esimerkiksi Table/StringColumn eq 1).

Jos tuntuu sekavalta, jatka lukemista, kohta asia käydään läpi.

Kentän suodattaminen

Oletetaan, että raportin URL-osoite on seuraava.

Screenshot of starting URL.

Edellisessä karttavisualisoinnissa näemme, että meillä on varastoja Pohjois-Carolinassa. NC on arvo, joka edustaa Pohjois-Carolinaa Myymälä-taulukon Alue-kentässä. Jos siis haluat suodattaa raportin näyttämään tiedot vain myymälöille, joiden sijainti on NC, lisää tämä merkkijono URL-osoitteeseen:

?filter=Store/Territory eq 'NC'

Screenshot of U R L with filter for North Carolina.

Raporttimme on nyt suodatettu Pohjois-Carolinaa varten. kaikki raportin visualisoinnit näyttävät vain Pohjois-Carolinaa koskevat tiedot.

Screenshot of Report filtered for North Carolina.

Useamman kuin yhden kentän arvon suodattaminen

Jos haluat suodattaa useamman kuin yhden arvon yhdessä kentässä, käytä in-operaattoria and-operaattorin sijaan. Syntaksi on seuraava:

URL?filter=Taulukkokenttä/kohteessa ('value1', 'value2')

Jos haluat suodattaa raportin näyttämään tiedot vain "NC:n" (Pohjois-Carolinan) tai "TN:n" (Tennesseen) myymälöille, lisää URL-osoitteeseen seuraava:

?filter=Store/Territory in ('NC', 'TN')

Muut hyödylliset operaattorit näkyvät Operaattorit-taulukossa myöhemmin artikkelissa.

Useiden kenttien suodattaminen

Voit myös suodattaa useita kenttiä lisäämällä parametreja URL-osoitteeseesi. Palataan takaisin alkuperäiseen suodatinparametriin.

?filter=Store/Territory eq 'NC'

Jos haluat suodattaa lisää kenttiä, lisää and-kenttä ja toinen kenttä samassa muodossa kuin edellisessä esimerkissä. Esimerkki:

?filter=Store/Territory eq 'NC' and Store/Chain eq 'Fashions Direct'

Operaattorit

Power BI tukee useita muitakin operaattoreita kuin and. Seuraavassa taulukossa on lueteltu kyseiset operaattorit sekä niiden tukemat sisältötyypit.

Operaattori Määritelmä Merkkijono Määrä Päivämäärä Esimerkki
and ja Kyllä Kyllä Kyllä product/price le 200 and price gt 3.5
Eq on yhtä suuri kuin Kyllä Kyllä Kyllä Address/City eq 'Redmond'
ne eri kuin Kyllä Kyllä Kyllä Address/City ne 'London'
Ge suurempi tai yhtä suuri kuin Ei Kyllä Kyllä product/price ge 10
gt suurempi kuin Ei Kyllä Kyllä product/price gt 20
Le pienempi tai yhtä suuri kuin Ei Kyllä Kyllä product/price le 100
Lt Alle Ei Kyllä Kyllä product/price lt 20
kohteessa* Mukaan lukien Kyllä Kyllä Kyllä Student/Age in (27, 29)

* Kun käytät in-lauseketta, in-funktion oikealla puolella olevat arvot voidaan erottaa sulkeiden sisällä olevasta pilkuilla erotettuna luettelona tai yksittäisenä lausekkeena, joka palauttaa kokoelman. Katso esimerkkejä IN-operaattorin artikkelista .

Numeeriset tietotyypit

Power BI:n URL-suodatin voi sisältää lukuja seuraavissa muodoissa.

Lukutyyppi Esimerkki
integer 5
Pitkä 5 L tai 5 l
Kahden hengen 5.5 tai 55e-1 tai 0.55e+1 tai 5D tai 5d tai 0.5e1D tai 0.5e1d tai 5.5D tai 5.5d tai 55e-1D tai 55e-1d
desimaali 5 M tai 5 m tai 5.5 M tai 5.5 m
Float 5 F tai 5 f tai 0.5e1 F tai 0.5e-1 d

Päivämäärän tietotyypit

Power BI tukee sekä OData V3- että V4-versioita Date- ja DateTimeOffset-tietotyypeille. OData V3 -versiossa päivämäärät on kirjoitettava heittomerkkien sisään ja niiden eteen on kirjoitettava sana datetime. OData V4 -versiossa ei tarvitse olla puolilainausmerkkejä tai sanaa datetime.

Päivämäärät esitetään EDM-muodossa (2019-02-12T00:00:00): Kun määrität päivämäärä muodossa VVVV-KK-PP, Power BI tulkitsee sen muodossa VVVV-KK-PPT00:00:00. Varmista, että kuukausi ja päivä ovat kaksinumeroisia eli KK ja PP.

Miksi tämä ero on tärkeä? Oletetaan, että luot kyselymerkkijonoparametrin Table/Date gt '2018-08-03'. Sisältävätkö tulokset elokuun kolmannen päivän 2018 vai alkavatko ne elokuun 4. päivänä 2018? Power BI kääntää kyselyn muotoon Table/Date gt '2018-08-03T00:00:00'. Tulokset siis sisältävät päivämäärät, joilla on nollasta poikkeava aikaosa, koska nämä päivämäärät ovat suurempia kuin '2018-08-03T00:00:00'.

V3-V4:n välillä on myös muita eroja. OData V3 ei tue päivämääriä, vain DateTime. Jos siis käytät V3-muotoa, sille on annettava täydellinen päivämäärä ja aika. Päivämäärän literaalia, kuten "datetime'2019-05-20'", ei tueta V3-merkintätapaan. V4-muodossa voit kuitenkin kirjoittaa sen muodossa "2019-05-20". Seuraavassa on kaksi vastaavaa suodatinkyselyä V3- ja V4-versioissa:

  • OData V4 -muoto: filter=Table/Date gt 2019-05-20
  • OData V3 -muoto: filter=Table/Date gt datetime'2019-05-20T00:00:00'

URL-suodattimien erikoismerkit

Erikoismerkit taulukon ja sarakkeen nimissä

Erikoismerkit, välilyönnit ja taulukon ja sarakkeen nimien alussa olevat numerot edellyttävät enemmän muotoilua. Kun kysely sisältää välilyöntejä, ajatusviivoja, alussa olevia numeroita tai muita kuin ASCII-merkkejä, lisää kyseisiin erikoismerkkeihin etuliitteeksi escape-koodi , joka alkaa alaviivalla ja X:llä (_x), sitten nelinumeroinen Unicode-tunnus ja lopuksi toinen alaviiva. Jos Unicode-tunnussa on alle neljä merkkiä, sinun on täytettävä sitä nollilla. Seuraavassa on joitakin esimerkkejä.

Identifier Unicode Koodaus Power BI:ssä
Taulukon nimi Välilyönti on 00x20 Table_x0020_Name
Sarakkeen@numero @ on 00x40 Column_x0040_Number
[Sarake] [ is 0x005B ] is 0x005D _x005B_Column_x005D_
Sarake+Plus + on 0x2B Column_x002B_Plus
2TableName 2 on x0032 _x0032_TableName_

Table_x0020_Name/Column_x002B_Plus eq 3 Screenshot of table visual rendering special characters for Unicode.

Table_x0020_Special/_x005B_Column_x0020_Brackets_x005D_ eq '[C]' Screenshot of table visual rendering special characters for coding for Power B I.

Erikoismerkit arvoissa

URL-suodattimet tukevat useimpia kenttien arvoissa olevia erikoismerkkejä, mutta jotkin edellyttävät myös ohjauskoodeja. Jos haluat esimerkiksi hakea heittomerkkiä, käytä kahta heittomerkkiä ('').

  • ?filter=Table/Name eq 'O''Brien' Tulee:

    Name is O'Brien

  • ?filter=Table/Name eq 'Lee''s Summit' Tulee:

    Lee's Summit

  • Operaattori in tukee myös tätä ohjausta: ?filter=Table/Name in ('Lee''s Summit', 'O''Brien') muuttuu muotoon:

    Lee's Summit or O'Brien

Seuraavassa on luettelo erikoismerkeistä, jotka edellyttävät ohjauskoodeja kenttien arvoissa.

Merkki Escape-koodi
(välilyönti) 20 %
' ''
% 25 %
+ %2B
/ %2F
? %3F
# %23
& 26 %

URL:n vakiomuotoinen tilanvaihtomerkki

Kun käytät URL-osoitetta, jossa on välilyöntejä ja muita erikoismerkkejä, selaimet voivat korvata ne automaattisesti vakiopakomerkkien avulla. Oletetaan, että luot tämän URL-osoitteen kyselymerkkijonon:

https://app.powerbi.com/groups/me/reports/b7dea1d4-d9f0-47aa-a88d-xxxxxxxxxxxx/ReportSection2?filter=Executives/Executive eq 'Andrew Ma'

Se avaa Asiakkaan tuottavuuden mallin, joka on suodatettu Antero Ma -suodattimella. Jos kuitenkin tarkastelet URL-osoitetta, se voi nyt näyttää tältä:

https://app.powerbi.com/groups/me/reports/b7dea1d4-d9f0-47aa-a88d-xxxxxxxxxxxx/ReportSection2?filter=Executives%2FExecutive%20eq%20%27Andrew%20Ma%27

Selain on korvannut välilyönnin välillä Andrew ja Ma :n avulla %20samoin kuin muut välilyönnit. Se korvasi vinoviivan taulukon nimen Executives ja kentän nimen Executive välissä kohteella %2F, ja korvasi heittoviivan ' arvolla %27.

Tästä URL-versiosta voi olla hyötyä. Voit esimerkiksi liittää sen keskusteluun Microsoft Teamsissa, ja se palauttaa halutut suodatetut tulokset.

DAX-kielen käyttäminen useiden arvojen suodattamiseen

Toinen tapa suodattaa useita kenttiä on luoda laskettu sarake, joka yhdistää kaksi kenttää yhdeksi arvoksi. Sitten voit suodattaa tämän arvon.

Meillä on esimerkiksi kaksi kenttää: Territory (alue) ja Chain (ketju). Luo Power BI Desktopissa uusi laskettu sarake (kenttä), jota kutsutaan nimellä TerritoryChain (alueketju). Muista, että kentän nimessä ei voi olla välilyöntejä. Tässä on kyseisen sarakkeen DAX-kaava.

TerritoryChain = [Territory] & " - " & [Chain]

Julkaise raportti Power BI -palvelu ja suodata ja näytä vain Lindseys-myymälöiden tiedot URL-kyselymerkkijonon avulla NC:ssä.

https://app.powerbi.com/groups/me/reports/8d6e300b-696f-498e-b611-41ae03366851/ReportSection3?filter=Store/TerritoryChain eq 'NC – Lindseys'

Ruudun kiinnittäminen suodatetusta raportista

Kun olet suodattanut raportin käyttämällä kyselymerkkijonon parametreja, voit kiinnittää visualisointeja kyseisestä raportista koontinäyttöösi. Koontinäytön ruutu tuo näkyviin suodatetut tiedot, ja valitsemalla kyseisen koontinäytön ruudun voit avata raportin, jota käytettiin sen luomiseen. URL-osoitteen kautta käytettyä suodatusta ei kuitenkaan tallenneta raportin kanssa. Kun valitset koontinäytön ruudun, raportti avautuu suodattamattomassa tilassa. Näin ollen koontinäytön ruudussa näytettävät tiedot eivät vastaa raportin visualisoinnissa näkyviä tietoja.

Tästä ristiriidasta on hyötyä, kun haluat nähdä eri tuloksia. suodatettuna koontinäytössä ja suodattamattomana raportissa.

Huomioon otettavat seikat ja vianmääritys

On muutamia asioita, jotka tulee ottaa huomioon merkkijonon kyselyparametreja käytettäessä.

  • Kun käytät in-operaattoria, in-operaattorin oikealla puolella olevat arvot on esitettävä sulkeissa olevana pilkuin eroteltuna luettelona.

  • Power BI -raporttipalvelin tukee myös mahdollisuutta määrittää useampi kuin yksi suodatin URL-suodatinparametrin avulla. Tässä on esimerkki siitä, miltä URL-osoite voi näyttää Power BI -raporttipalvelin:https://reportserver/reports/powerbi/Store Sales?rs:Embed=true&filter= Store/Territory eq 'NC' and Store/Chain eq 'Fashions Direct'

  • Raportin URL-suodattimissa on 10 lausekkeen rajoitus (10 AND-funktiolla yhdistettyä suodatinta).

  • Pitkä tietotyyppi on (2^53-1) JavaScriptin rajoitusten vuoksi.

  • URL-kyselymerkkijonojen arvo on rajoitettu 2 000 merkkiin. Tämä raja sisältää erikoismerkkien ohjauskoodit (esimerkiksi välilyönti, %, +).

  • Et voi suodattaa taulukon tai sarakkeen nimiä, jotka alkavat isoilla kirjaimilla INF, mukaan lukien esimerkiksi taulukon nimi, joka alkaa merkkijonolla "INFORMATION". Ison kirjaimen INF on OData-erikoisarvo. Jos haluat aloittaa taulukon tai sarakkeen nimen tekstillä "INF", tee siitä sen sijaan pienillä kirjaimilla "inf".

  • Taulukon ja kentän nimet voivat sisältää Unicode-muodossa ilmaistuja kiinalaisia merkkejä. Oletetaan esimerkiksi, että haluat käyttää suodatinta, joka 表/人 eq '张力' (tämä tarkoittaa Table/Person eq '张力'). Suodatin muunnetaan _x8868_/_x4eba_ eq '张力'.

    Screenshot of Chinese characters converted to Unicode format in a search string.

Upotustilanteet

URL-suodattimia tuetaan joissakin upotustilanteissa, ei kaikissa.

Onko sinulla lisää kysymyksiä? Voit esittää kysymyksiä Power BI -yhteisö