Raportin suodattaminen URL-osoitteen kyselymerkkijonoparametrien avulla
Kun avaat raportin Power BI -palvelussa, 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.
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 ja lisää sitten suodatinsyntaksi kyselymerkkijonoon. URL-osoitteen kyselymerkkijono alkaa kysymysmerkillä (?), esimerkiksi:
URL?filter=Taulukkokenttä/ eq 'value'
- Taulukko - ja Kenttä-nimissä kirjainkoko on merkitsevä. arvo ei ole.
- Kentät, jotka on piilotettu raporttinäkymästä, voidaan edelleen suodattaa.
Jos suodatinparametri ei ole kyselymerkkijonon ensimmäinen parametri, se liitetään edelliseen parametriin et-metterillä (&), esimerkiksi:
URL?reportId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx&pageName=ReportSection&filter=Table/Field eq 'value'
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).
- Merkkijonot on sijoitettava puolilainausmerkkeihin, esim. 'esimiehen nimi'.
- Luvut eivät edellytä erityistä muotoilua. Lue lisätietoja tämän artikkelin kohdasta Numeeriset tietotyypit .
- Päivämäärät ja ajat Katso tämän artikkelin kohta Päivämäärän tietotyypit .
Jos tuntuu sekavalta, jatka lukemista, kohta asia käydään läpi.
Kentän suodattaminen
Oletetaan, että raportin URL-osoite on seuraava.
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'
Raporttimme on nyt suodatettu Pohjois-Carolinaa varten. kaikki raportin visualisoinnit näyttävät vain Pohjois-Carolinaa koskevat tiedot.
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 |
IN* | mukaan luettuna | 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 |
kaksinkertainen | 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 |
kellua | 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
Table_x0020_Special/_x005B_Column_x0020_Brackets_x005D_ eq '[C]'
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:?filter=Table/Name eq 'Lee''s Summit'
Tulee:Operaattori
in
tukee myös tätä ohjausta:?filter=Table/Name in ('Lee''s Summit', 'O''Brien')
muuttuu muotoon:
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 %20
samoin 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 -palveluun 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 -raporttipalvelimessa:
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 '张力'.
Upotustilanteet
URL-suodattimia tuetaan joissakin upotustilanteissa, ei kaikissa.
- Raportin upottamista turvalliseen portaaliin tai sivustoon tuetaan.
- Power BI Embedded tukee URL-suodattimia.
- Kyselyn merkkijonon suodatus ei toimi Julkaise verkkoon - tai Vie PDF-muotoon -toiminnoissa.
- Upota raportin verkko-osa SharePoint Onlinessa ei tue URL-suodattimia.
- Teams ei salli URL-osoitteen määrittämistä.
Liittyvä sisältö
Onko sinulla lisää kysymyksiä? Voit esittää kysymyksiä Power BI -yhteisössä