Bagikan melalui


Gunakan parameter string kueri dalam URL untuk memfilter laporan

Saat Anda membuka laporan di layanan Power BI, setiap halaman laporan memiliki URL uniknya sendiri. Untuk memfilter halaman laporan tersebut, Anda bisa menggunakan panel Filter pada kanvas laporan. Atau Anda dapat menambahkan parameter string kueri ke URL untuk melakukan prafilter laporan. Mungkin Anda memiliki laporan yang ingin Anda tunjukkan kepada kolega dan Anda ingin melakukan prafilter untuk mereka. Salah satu cara untuk memfilternya adalah memulai dengan URL default untuk laporan, menambahkan parameter filter ke URL, lalu mengirimi mereka email ke seluruh URL baru.

Artikel ini menggunakan sampel laporan Analisis Ritel. Jika Anda ingin mengikuti, Anda dapat mengunduh sampel laporan.

Cuplikan layar laporan Power BI dalam layanan.

Digunakan untuk parameter string kueri

Katakanlah Anda bekerja di Power BI Desktop. Anda ingin membuat laporan yang memiliki tautan ke laporan Power BI lain, tetapi Anda hanya ingin memperlihatkan beberapa informasi dalam laporan lain. Pertama, filter laporan menggunakan parameter string kueri dan simpan URL. Selanjutnya, buat tabel di Desktop dengan URL laporan baru ini. Kemudian terbitkan dan bagikan laporan.

Penggunaan lain untuk parameter string kueri adalah untuk seseorang yang membuat solusi Power BI tingkat lanjut. Di DAX, mereka membuat laporan yang menghasilkan URL laporan yang difilter secara dinamis berdasarkan pilihan yang dibuat pelanggan mereka dalam laporan saat ini. Saat pelanggan memilih URL, mereka hanya melihat informasi yang dimaksudkan.

Sintaks parameter kueri untuk pemfilteran

Dengan parameter, Anda dapat memfilter laporan untuk satu atau beberapa nilai, bahkan jika nilai tersebut berisi spasi atau karakter khusus. Sintaks dasarnya cukup mudah; mulai dengan URL laporan, lalu tambahkan sintaks filter Anda dalam string kueri. String kueri dalam URL dimulai dengan tanda tanya (?), misalnya:

URL?filter=Table/Bidang eq 'nilai'

Cuplikan layar U R L dengan filter.

  • Nama Tabel dan Kolom bersifat sensitif terhadap huruf besar/kecil; nilai tidak.
  • Bidang yang disembunyikan dari tampilan laporan masih dapat difilter.

Jika parameter filter bukan parameter pertama dalam string kueri, parameter tersebut digabungkan ke parameter sebelumnya dengan ampersand (&), misalnya:

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

Jenis bidang

Jenis bidang bisa berupa angka, tanggalwaktu, atau string dan jenis yang digunakan harus cocok dengan jenis yang diatur dalam model semantik. Misalnya, menentukan kolom tabel jenis "string" tidak berfungsi jika Anda mencari nilai tanggalwaktu atau numerik dalam kolom model semantik yang ditetapkan sebagai tanggal, seperti Table/StringColumn eq 1.

  • String harus diapit dengan tanda kutip tunggal, seperti dalam 'nama manajer'.
  • Angka tidak memerlukan pemformatan khusus. Lihat Jenis data numerik pada artikel ini untuk detailnya.
  • Tanggal dan waktu Lihat Jenis data tanggal di artikel ini.

Jika masih membuat bingung, lanjutkan membaca dan kami akan menjelaskannya.

Memfilter pada kolom

Mari kita asumsikan bahwa URL ke laporan kita adalah sebagai berikut.

Cuplikan layar URL awal.

Dan kita melihat dalam visualisasi peta sebelumnya bahwa kita memiliki toko di North Carolina. NC adalah nilai yang mewakili North Carolina di bidang Wilayah dari tabel Penyimpanan. Jadi untuk memfilter laporan agar hanya menampilkan data untuk toko di "NC", kami menambahkan string ini ke URL:

?filter=Store/Territory eq 'NC'

Cuplikan layar U R L dengan filter untuk Carolina Utara.

Laporan kami sekarang difilter untuk North Carolina; semua visualisasi dalam laporan hanya menampilkan data untuk North Carolina.

Cuplikan layar Laporan yang difilter untuk Carolina Utara.

Memfilter lebih dari satu nilai dalam suatu bidang

Untuk memfilter lebih dari satu nilai dalam satu bidang, Anda menggunakan operator di alih-alih operator dan. Sintaksnya adalah:

URL?filter=Tabel/Bidangdi ('value1', 'value2')

Menggunakan contoh yang sama, untuk memfilter laporan guna menampilkan data hanya untuk penyimpanan di "NC" (North Carolina) atau "TN" (Tennessee), tambahkan URL dengan yang berikut;

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

Lihat tabel Operator nanti di artikel untuk daftar operator lain yang berguna.

Menyaring berdasarkan beberapa bidang

Anda juga dapat memfilter pada beberapa bidang dengan menambahkan lebih banyak parameter ke URL Anda. Mari kita kembali ke parameter filter asli kita.

?filter=Store/Territory eq 'NC'

Untuk memfilter bidang lainnya, tambahkan 'dan' dan bidang lain dalam format yang sama dengan contoh sebelumnya. Berikut adalah contohnya.

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

Operator

Power BI mendukung banyak operator selain 'dan'. Tabel berikut mencantumkan operator tersebut bersama dengan tipe konten yang didukungnya.

Operator Definisi String Nomor Tanggal Contoh
dan dan ya ya ya produk/harga le 200 dan harga gt 3.5
Eq sama dengan ya ya ya Alamat/Kota sama dengan 'Redmond'
ne Tidak setara ya ya ya Alamat/Kota != 'London'
ge lebih dari atau sama tidak ya ya produk/harga ge 10
gt lebih dari tidak ya ya produk/harga lebih dari 20
le kurang dari atau sama tidak ya ya produk/harga le 100
Lt kurang dari tidak ya ya produk/harga lt 20
di* termasuk ya ya ya Siswa/Usia di (27, 29)

* Saat Anda menggunakan di, nilai di sebelah kanan di dapat berupa daftar yang dipisahkan dengan koma dalam tanda kurung, atau ekspresi tunggal yang mengembalikan suatu koleksi. Lihat artikel Operator IN sebagai contohnya.

Tipe data angka

Filter URL Power BI dapat menyertakan angka dalam format berikut.

Jenis angka Contoh
Integer 5
long 5 L atau 5 l
dobel 5,5 atau 55e-1 atau 0,55e+1 atau 5D atau 5d atau 0,5e1D atau 0,5e1d atau 5,5D atau 5,5d atau 55e-1D atau 55e-1d
desimal 5 M atau 5 m atau 5,5 M atau 5,5 m
float 5 F atau 5 f atau 0,5e1 F atau 0,5e-1 d

Tipe data tanggal

Power BI mendukung jenis data OData V3 dan V4 untuk Tanggal dan DateTimeOffset. Untuk OData V3, Anda perlu mendahului tanggal dengan kata datetime dan mengapitnya dalam tanda kutip tunggal. Anda tidak memerlukan tanda kutip tunggal dan kata "datetime" di OData V4.

Tanggal ditunjukkan menggunakan format EDM (2019-02-12T00:00:00): Saat Anda menentukan tanggal sebagai 'YYYY-MM-DD', Power BI menafsirkannya sebagai 'YYYY-MM-DDT00:00:00'. Pastikan bulan dan hari adalah dua digit, MM dan DD.

Mengapa perbedaan ini penting? Misalkan Anda membuat parameter string kueri Tabel/Tanggal gt '2018-08-03'. Apakah hasilnya akan mencakup 3 Agustus 2018 atau dimulai dengan 4 Agustus 2018? Power BI menerjemahkan kueri Anda ke Tabel/Tanggal gt '2018-08-03T00:00:00'. Jadi, hasil yang Anda peroleh mencakup tanggal apa pun yang memiliki bagian waktu bukan nol, karena tanggal tersebut akan lebih besar dari '2018-08-03T00:00:00'.

Terdapat perbedaan lain antara V3 dan V4. OData V3 tidak mendukung Tanggal, hanya TanggalWaktu. Jadi, jika Anda menggunakan format V3, Anda harus menyertakan tanggal dan waktu secara lengkap. Harfiah tanggal seperti "datetime'2019-05-20'" tidak didukung dalam notasi V3. Tetapi Anda hanya dapat menulisnya sebagai "2019-05-20" dalam notasi V4. Berikut adalah dua kueri filter yang setara di V3 dan V4:

  • Format OData V4: filter=Tabel/Tanggal lebih besar dari 2019-05-20
  • Format OData V3: filter=Tabel/Tanggal gt datetime'2019-05-20T00:00:00'

Karakter khusus dalam filter URL

Karakter khusus dalam nama tabel dan kolom

Karakter khusus, spasi, dan angka di depan dalam nama tabel dan kolom memerlukan lebih banyak pemformatan. Saat kueri Anda berisi spasi, tanda hubung, angka di depan, atau karakter non-ASCII lainnya, awali karakter khusus tersebut dengan kode escape yang dimulai dengan garis bawah dan X (_x), lalu Unicode empat digit, lalu garis bawah lainnya. Jika Unicode kurang dari empat karakter, Anda perlu mengisinya dengan nol. Berikut adalah beberapa contoh.

pengidentifikasi Unicode Pengodean untuk Power BI
Nama Tabel Ruang adalah 00x20 Table_x0020_Name
Kolom Nomor @ adalah 00x40 Kolom_x0040_Nomor
[Kolom] [ adalah 0x005B ] adalah 0x005D _x005B_Kolom_x005D_
Kolom+Plus + 0x2B Kolom_x002B_Plus
2TableName 2 adalah x0032 _x0032_TableName

Table_x0020_Name/Column_x002B_Plus eq 3 Cuplikan layar perenderan visual tabel karakter khusus Unicode.

Table_x0020_Special/_x005B_Column_x0020_Brackets_x005D_ eq '[C]' Cuplikan layar rendering visual tabel karakter khusus untuk pengkodian untuk Power B I.

Karakter khusus dalam nilai

Filter URL mendukung sebagian besar karakter khusus dalam nilai bidang, tetapi beberapa juga memerlukan kode escape. Misalnya, untuk mencari satu karakter kutipan, gunakan dua tanda kutip tunggal ('').

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

    Nama adalah O'Brien

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

    Konferensi Lee

  • Operator in juga mendukung pelepasan ini: ?filter=Table/Name in ('Lee''s Summit', 'O''Brien') menjadi:

    Konferensi Lee atau O'Brien

Berikut adalah daftar beberapa karakter khusus yang memerlukan kode escape dalam nilai bidang.

karakter Kode escape
(spasi) 20%
' ''
% %25
+ %2B
/ %2F
? %3F
# %23
& %26

Karakter escape URL standar

Saat Anda menggunakan URL dengan spasi dan karakter khusus lainnya di dalamnya, browser dapat secara otomatis menggantinya dengan karakter escape standar. Katakanlah Anda membuat string kueri URL ini:

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

Hal ini membuka Sampel Profitabilitas Pelanggan, difilter ke Andrew Ma. Tetapi jika Anda melihat URL, sekarang mungkin terlihat seperti ini:

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

Browser telah menggantikan ruang antara Andrew dan Ma dengan %20, demikian juga spasi lainnya. Ini mengganti garis miring antara nama tabel Executives dan nama bidang Executive dengan %2F, dan mengganti tanda petik tunggal ' dengan %27.

Versi URL ini mungkin berguna. Misalnya, Anda dapat menempelkannya di obrolan di Microsoft Teams, dan mengembalikan hasil yang difilter yang diinginkan.

Menggunakan DAX untuk memfilter beberapa nilai

Cara lain untuk memfilter pada beberapa bidang adalah dengan membuat kolom terhitung yang menggabungkan dua bidang ke satu nilai. Kemudian Anda dapat memfilter berdasarkan nilai tersebut.

Misalnya, kami memiliki dua bidang: Wilayah dan Rantai. Pada Power BI Desktop, buat kolom Tertentu baru (bidang) yang disebut TerritoryChain. Ingat bahwa Nama Bidang tidak boleh memiliki spasi. Berikut adalah rumus DAX untuk kolom tersebut.

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

Terbitkan laporan ke layanan Power BI, kemudian gunakan string kueri URL untuk memfilter dan menampilkan data hanya untuk toko Lindseys di NC.

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

Sematkan petak dari laporan yang difilter

Setelah Anda memfilter laporan menggunakan parameter string kueri, Anda dapat menyematkan visualisasi dari laporan tersebut ke dasbor Anda. Petak peta di dasbor menampilkan data yang difilter dan memilih petak dasbor tersebut membuka laporan yang digunakan untuk membuatnya. Namun, pemfilteran yang Anda lakukan menggunakan URL tidak disimpan dengan laporan. Saat Anda memilih petak dasbor, laporan terbuka dalam status tidak difilter. Dengan demikian, data yang ditampilkan di petak dasbor tidak cocok dengan data yang ditampilkan dalam visualisasi laporan.

Perbedaan ini berguna ketika Anda ingin melihat hasil yang berbeda; difilter di dasbor dan tidak difilter dalam laporan.

Pertimbangan dan pemecahan masalah

Ada beberapa hal yang perlu diperhatikan saat menggunakan parameter string kueri.

  • Saat Anda menggunakan operator di, nilai di sebelah kanan di harus berupa daftar yang dipisahkan koma dan diapit dalam tanda kurung.

  • Server Laporan Power BI juga mendukung kemampuan untuk menentukan lebih dari satu filter menggunakan parameter URL "filter". Berikut adalah contoh tampilan URL dalam Power BI Report Server: https://reportserver/reports/powerbi/Store Sales?rs:Embed=true&filter= Store/Territory eq 'NC' and Store/Chain eq 'Fashions Direct'

  • Filter URL laporan memiliki batas 10 ekspresi (10 filter yang tersambung oleh AND).

  • Jenis data panjang adalah (2^53-1) karena keterbatasan JavaScript.

  • String kueri URL dibatasi hingga 2000 karakter. Batas ini mencakup kode escape untuk karakter khusus (misalnya, spasi, %, +).

  • Anda tidak dapat memfilter nama tabel atau kolom yang dimulai dengan huruf kapital INF, termasuk, misalnya, nama tabel yang dimulai dengan "INFORMATION". INF huruf besar adalah nilai khusus dalam OData. Jika Anda ingin memulai nama tabel atau kolom dengan "INF", jadikan "inf" huruf kecil sebagai gantinya.

  • Nama tabel dan bidang dapat berisi karakter Bahasa Tionghoa yang dinyatakan dalam formulir Unicode. Misalnya, Anda ingin menerapkan filter yang 表/人 eq '张力' (ini berarti Table/Person eq '张力'). Filter diubah menjadi _x8868_/_x4eba_ eq '张力'.

    Cuplikan layar karakter Bahasa Tionghoa yang dikonversi ke format Unicode dalam string pencarian.

Skenario Pemasangan

Filter URL didukung dalam beberapa skenario penyematan dan bukan di skenario lain.

Ada pertanyaan lagi? Coba tanyakan kepada Komunitas Power BI