İngilizce dilinde oku

Aracılığıyla paylaş


URL'deki sorgu dizesi parametrelerini kullanarak raporu filtreleme

Bir raporu Power BI hizmeti açtığınızda, raporun her sayfasının kendi benzersiz URL'si vardır. Bu rapor sayfasını filtrelemek için rapor tuvalinde Filtreler bölmesini kullanabilirsiniz. İsterseniz, raporu önceden filtrelemek için URL'ye sorgu dizesi parametreleri de ekleyebilirsiniz. İş arkadaşlarınıza göstermek istediğiniz bir raporunuz olabilir ve bu raporu onlar için önceden filtrelemek isteyebilirsiniz. Bunu filtrelemenin bir yolu, raporun varsayılan URL'si ile başlamak, filtre parametrelerini URL'ye eklemek ve ardından yeni URL'nin tamamını e-postayla göndermektir.

Bu makalede Perakende Analizi Örneği raporu kullanılmaktadır. Takip etmek isterseniz örnek raporu indirebilirsiniz.

Hizmetteki Power BI raporunun ekran görüntüsü.

Sorgu dizesi parametrelerinin kullanımları

Power BI Desktop'ta çalıştığınızı varsayalım. Diğer Power BI raporlarına bağlantılar içeren bir rapor oluşturmak istiyorsunuz, ancak diğer raporlarda yalnızca bazı bilgileri göstermek istiyorsunuz. İlk olarak, sorgu dizesi parametrelerini kullanarak raporları filtreleyin ve URL'leri kaydedin. Ardından, Masaüstü'nde bu yeni rapor URL'leriyle bir tablo oluşturun. Ardından raporu yayımlayın ve paylaşın.

Sorgu dizesi parametrelerinin bir diğer kullanımı, gelişmiş bir Power BI çözümü oluşturan birinin kullanımıdır. DAX'ta, müşterinin geçerli raporda yaptığı seçime göre dinamik olarak filtrelenmiş rapor URL'si oluşturan bir rapor oluşturur. Müşteriler URL'yi seçtiğinde yalnızca hedeflenen bilgileri görür.

Filtreleme için sorgu dizesinin parametre söz dizimi

Parametrelerle, bu değerler boşluk veya özel karakterler içerse bile raporu bir veya daha fazla değer için filtreleyebilirsiniz. Temel söz dizimi oldukça basittir; rapor URL'si ile başlayın, ardından filtre söz diziminizi bir sorgu dizesine ekleyin. URL'deki sorgu dizesi soru işaretiyle (?) başlar, örneğin:

URL?filter=Tablo/Alanı 'value'

Filtreli U R L'nin ekran görüntüsü.

  • Tablo ve Alan adları büyük/küçük harf duyarlılığına sahiptir; değer ise değil.
  • Rapor görünümünden gizlenen alanlar yine filtrelenebilir.

Filtre parametresi sorgu dizesindeki ilk parametre değilse, bir öncekine ve işareti (&) ile bağlanır, örneğin:

URL?reportId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxx&pageName=ReportSection&filter=Table/Field eq 'value'

Alan türleri

Alan türü bir sayı, tarih saat veya dize olabilir ve kullanılan türün anlam modelinde ayarlanan türle eşleşmesi gerekir. Örneğin, "dize" türünde bir tablo sütunu belirtmek, tarih olarak ayarlanmış bir anlam modeli sütununda bir tarih, saat veya sayısal değer arıyorsanız işe yaramaz. Örneğin Table/StringColumn eşittir 1 gibi.

  • Dizeler 'yönetici adı' örneğinde olduğu gibi tek tırnak içine alınmalıdır.
  • Sayılar için özel biçimlendirme gerekmez. Ayrıntılar için bu makaledeki Sayısal veri türleri bölümüne bakın.
  • Tarihler ve saatler Bu makaledeki Tarih veri türlerine bakın.

Hala kafa karıştırıcıysa okumaya devam edin.

Bir alana filtre uygulama

Raporumuzun URL'sinin aşağıdaki olduğunu varsayalım.

Başlangıç URL'sinin ekran görüntüsü.

Ve önceki harita görselleştirmemizde Kuzey Carolina'da mağazalarımız olduğunu görüyoruz. NC, Store tablosunun Territory alanında Kuzey Carolina'nın temsil ettiği değerdir. Bu nedenle raporu yalnızca "NC" içindeki depoların verilerini gösterecek şekilde filtrelemek için bu dizeyi URL'ye ekleriz:

?filter=Store/Territory eq 'NC'

Kuzey Carolina filtresi olan U R L'nin ekran görüntüsü.

Raporumuz artık Kuzey Carolina için filtrelendi; rapordaki tüm görselleştirmeler yalnızca Kuzey Carolina verilerini gösterir.

Kuzey Carolina için filtrelenmiş raporun ekran görüntüsü.

Alandaki birden fazla değere filtre uygulama

Tek bir alandaki birden fazla değere filtre uygulamak için in işlecini, ve işlecinin yerine kullanırsınız. Söz dizimi aşağıdaki gibidir:

URL?filter=Tablo/Alaniçinde ('değer1', 'değer2')

Aynı örneği kullanarak raporu yalnızca "NC" (Kuzey Carolina) veya "TN" (Tennessee) mağazalarının verilerini gösterecek şekilde filtrelemek için URL'yi aşağıdakiyle ekleyin;

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

Diğer yararlı işleçlerin listesi için makalenin devamında yer alan İşleçler tablosuna bakın.

Birden çok alana filtre uygulama

Ayrıca, URL'nize daha fazla parametre ekleyerek birden çok alanı filtreleyebilirsiniz. Özgün filtre parametremize geri dönelim.

?filter=Store/Territory eq 'NC'

Daha fazla alana filtre uygulamak için önceki örnekle aynı biçimde bir 've' ve başka bir alan ekleyin. İşte bir örnek.

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

İşleçler

Power BI, 've' özelliğine ek olarak birçok işleci destekler. Aşağıdaki tabloda bu işleçler ve destekledikleri içerik türü listelenmiştir.

Operatör Tanım String Sayı Tarih Örnek
and ve evet evet evet ürün/fiyat le 200 ve fiyat gt 3.5
Eq eşittir evet evet evet Adres/Şehir eq 'Redmond'
ne eşit değil evet evet evet Adres/Şehir 'Londra' değil
Ge büyüktür veya eşittir hayır evet evet ürün/fiyat ge 10
Gt büyüktür hayır evet evet ürün/fiyat gt 20
Le küçüktür veya eşittir hayır evet evet ürün/fiyat le 100
Lt daha az hayır evet evet ürün/fiyat lt 20
içinde* içeren evet evet evet Öğrenci/Yaş (27, 29)

* in kullandığınızda, in sağındaki ifadeler ya parantez içine alınmış virgülle ayrılmış bir liste ya da bir koleksiyon döndüren tek bir ifade olabilir. Örnekler için IN İşleci makalesine bakın.

Sayısal veri türleri

Power BI URL filtresi aşağıdaki biçimlerde sayılar içerebilir.

Sayı türü Örnek
integer 5
long 5 L veya 5 l
double 5,5 veya 55e-1 ya da 0,55e+1 ya da 5D ya da 5d ya da 0,5e1D ya da 0,5e1d ya da 5,5D ya da 55e-1D veya 55e-1d
ondalık 5 M veya 5 m ya da 5,5 M veya 5,5 m
float 5 F veya 5 f veya 0,5e1 F veya 0,5e-1 d

Tarih verisi türleri

Power BI, Date ve DateTimeOffset veri türleri için hem OData V3'ü hem de V4'ü destekler. OData V3 için tarihleri tek tırnak içine almanız ve bunların önüne datetime sözcüğünü eklemeniz gerekir. OData V4'te tek tırnak işaretlerine ve "datetime" sözcüğüne ihtiyacınız yoktur.

Tarihler EDM biçimi (2019-02-12T00:00:00: 00) kullanılarak gösterilir: Bir tarihi 'YYYY-AA-GG' olarak belirttiğinizde, Power BI bunu 'YYYY-MM-DDT00:00:00' olarak yorumlar. Ay ve günün mm ve DD olmak üzere iki basamak olduğundan emin olun.

Bu ayrım neden önemlidir? Table/Date gt '2018-08-03' sorgu dizesi parametresi oluşturduğunuzu varsayalım. Sonuçlar 3 Ağustos 2018'i içerecek mi yoksa 4 Ağustos 2018 ile mi başlayacak? Power BI sorgunuzu Table/Date gt '2018-08-03T00:00:00' olarak çevirir. Bu nedenle, sonuçlarınız sıfır olmayan bir zaman bölümüne sahip tarihleri içerir, çünkü bu tarihler '2018-08-03T00:00:00' değerinden büyük olur.

V3 ile V4 arasında başka farklar da vardır. OData V3 Tarihler'i desteklemez, yalnızca DateTime'ı destekler. Bu nedenle, V3 biçimini kullanıyorsanız tam tarih ve saat ile nitelemeniz gerekir. "datetime'2019-05-20'" gibi tarih sabitleri V3 gösteriminde desteklenmez. Bunu, V4 gösteriminde "2019-05-20" olarak yazabilirsiniz. V3 ve V4'te iki eşdeğer filtre sorgusu aşağıdadır:

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

URL filtrelerindeki özel karakterler

Tablo ve sütun adlarındaki özel karakterler

Tablo ve sütun adlarındaki özel karakterler, boşluklar ve baştaki sayılar daha fazla biçimlendirme gerektirir. Sorgunuzda boşluklar, tireler, baştaki sayılar veya diğer ASCII olmayan karakterler varsa, bu özel karakterlerin önüne alt çizgi ve X (_x) ile başlayan bir kaçış kodu, ardından dört basamaklı Unicode ve sonra başka bir alt çizgi ekleyin. Unicode dört karakterden azsa sıfırlarla doldurmanız gerekir. İşte bazı örnekler.

Tanımlayıcı Unicode Power BI için kodlama
Tablo Adı Alan 00x20 Tablo_x0020_Adı
Sütun@Numarası @ 00x40 Column_x0040_Number
[Sütun] [ 0x005B ] 'dir' 0x005D _x005B_Column_x005D_
Column+Plus + 0x2B Column_x002B_Plus
2TableName 2, x0032'dir _x0032_TableName

Table_x0020_Name/Column_x002B_Plus eq 3 Unicode için özel karakterleri işleme tablo görselinin ekran görüntüsü.

Table_x0020_Special/_x005B_Column_x0020_Brackets_x005D_ eq '[C]' Power BI kodlaması için özel karakterleri işleme tablo görselinin ekran görüntüsü.

Değerlerdeki özel karakterler

URL filtreleri alan değerlerinde çoğu özel karakteri destekler, ancak bazıları da kaçış kodları gerektirir. Örneğin, tek tırnak karakteri aramak için iki tek tırnak ('') kullanın.

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

    Adı O'Brien

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

    Lee'nin Zirvesi

  • in işleci bu kaçış yöntemi için de destek sağlar: ?filter=Table/Name in ('Lee''s Summit', 'O''Brien') olur:

    Lee'nin Zirvesi veya O'Brien

Alan değerlerinde kaçış kodları gerektiren bazı özel karakterlerin listesi aşağıdadır.

Karakter Kaçış kodu
(boşluk) %20
' ''
% %25
+ %2B
/ %2F
? %3F
# %23
& %26

Standart URL kaçış karakterleri

Bir URL'yi boşluklar ve diğer özel karakterlerle kullandığınızda, tarayıcılar bunları otomatik olarak standart kaçış karakterleriyle değiştirebilir. Bu URL sorgu dizesini oluşturduğunuzu varsayalım:

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

Müşteri Kârlılığı Örneği'ni açar ve Andrew Ma için filtreler. Ancak URL'ye bakarsanız şu şekilde görünebilir:

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

Tarayıcı, Andrew ve Ma arasındaki boşluğu %20 ile değiştirmiştir, diğer boşlukları da benzer şekilde değiştirmiştir. Tablo adı Executives ile alan adı Executive arasındaki eğik çizgiyi %2F ile değiştirdi ve tek tırnak işaretini ' ile %27 ile değiştirdi.

URL'nin bu sürümü yararlı olabilir. Örneğin, Microsoft Teams'de sohbette yapıştırabilirsiniz ve istenen filtrelenmiş sonuçları döndürür.

Birden çok değere filtre uygulamak için DAX kullanma

Birden çok alanı filtrelemenin bir diğer yolu, hesaplanmış bir kolon oluşturarak iki alanı tek bir değerle birleştirmektir. Ardından bu değere göre filtreleyebilirsiniz.

Örneğin, iki alanımız vardır: Territory ve Chain. Power BI Desktop'ta TerritoryChain adlı yeni bir Hesaplanan sütun (Alan) oluşturun. Alan adında boşluk olamayacağını unutmayın. Bu sütunun DAX formülü aşağıdadır.

TerritoryZincir = [Bölge] & " - " & [Zincir]

Raporu Power BI hizmeti yayımlayın ve ardından NC'de yalnızca Lindseys depolarının verilerini filtrelemek ve görüntülemek için URL sorgu dizesini kullanın.

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

Filtrelenmiş rapordan bir kutucuğu sabitleyin

Sorgu dizesi parametrelerini kullanarak raporu filtreledikten sonra, bu rapordaki görselleştirmeleri panonuza sabitleyebilirsiniz. Panodaki kutucuk filtrelenmiş verileri görüntüler ve bu pano kutucuğu seçildiğinde, bu verileri oluşturmak için kullanılan rapor açılır. Ancak, URL'yi kullanarak yaptığınız filtreleme raporla birlikte kaydedilmez. Pano kutucuğunu seçtiğinizde rapor filtrelenmemiş durumda açılır. Bu nedenle, pano kutucuğunda görüntülenen veriler rapor görselleştirmesinde görüntülenen veriyle eşleşmez.

Bu tutarsızlık, farklı sonuçlar görmek istediğinizde yararlıdır; panoda filtrelenmiş ve raporda filtresiz görüntülenir.

Dikkat edilmesi gerekenler ve sorun giderme

Sorgu dizesi parametrelerini kullanırken dikkat etmeniz gereken birkaç şey vardır.

  • in işlecini kullandığınızda, in öğesinin sağındaki değerlerin parantez içine alınmış virgülle ayrılmış bir liste olması gerekir.

  • Power BI Rapor Sunucusu, "filter" URL parametresini kullanarak birden fazla filtre belirtme özelliğini de destekler. Power BI Rapor Sunucusu'da URL'nin nasıl görünebileceğine ilişkin bir örnek aşağıda verilmişti:https://reportserver/reports/powerbi/Store Sales?rs:Embed=true&filter= Store/Territory eq 'NC' and Store/Chain eq 'Fashions Direct'

  • Rapor URL'si filtrelerinin 10 ifade sınırı vardır (AND tarafından bağlanan 10 filtre).

  • JavaScript sınırlamaları nedeniyle uzun veri türü (2^53-1) şeklindedir.

  • URL sorgu dizeleri 2000 karakterle sınırlıdır. Bu sınır, özel karakterler (boşluk, %, + gibi) için kaçış kodlarını içerir.

  • "BİlGİLER" ile başlayan bir tablo adı gibi inf harfiyle başlayan tablo veya sütun adlarına filtre ekleyemezsiniz. Büyük harflerle yazılan "INF", OData'da özel bir değerdir. "INF" ile bir tablo veya sütun adı başlatmak istiyorsanız, bunun yerine küçük harfle "inf" yapın.

  • Tablo ve alan adları Unicode biçiminde ifade edilen Çince karakterler içerebilir. Örneğin, 表/人 eq '张力' (Bu, Table/Person eq '张力' anlamına gelir) bir filtre uygulamak istediğinizi varsayalım. Filtre _x8868_/_x4eba_ '张力' ile eşit olacak şekilde dönüştürülür.

    Arama dizesinde Unicode biçimine dönüştürülen Çince karakterlerin ekran görüntüsü.

Ekleme senaryoları

URL filtreleri bazı ekleme senaryolarında desteklenir, diğerlerinde desteklenmez.

Başka sorunuz var mı? Power BI Topluluğu sormayı deneyin