Fungsi Report Builder - Fungsi LookupSet dalam laporan yang dipaginasi (Report Builder)
Berlaku untuk: Microsoft Report Builder (SSRS) Power BI Report Builder Perancang Laporan di SQL Server Data Tools
Mengembalikan kumpulan nilai yang cocok untuk nama yang ditentukan dari himpunan data yang berisi pasangan nama/nilai dalam laporan yang dipaginasi.
Catatan
Anda dapat membuat dan mengubah file definisi laporan yang dipaginasi (.rdl) di Microsoft Report Builder, Power BI Report Builder, dan di Perancang Laporan di SQL Server Data Tools.
Sintaks
LookupSet(source_expression, destination_expression, result_expression, dataset)
Parameter
source_expression
(Varian) Ekspresi yang dievaluasi dalam cakupan saat ini dan yang menentukan nama atau kunci untuk dicari. Contohnya,=Fields!ID.Value
.
destination_expression
(Varian) Ekspresi yang dievaluasi untuk setiap baris dalam himpunan data dan yang menentukan nama atau kunci untuk dicocokkan. Contohnya,=Fields!CustomerID.Value
.
result_expression
(Varian) Ekspresi yang dievaluasi untuk baris dalam himpunan data di mana source_expression = destination_expression, dan yang menentukan nilai yang akan diambil. Contohnya,=Fields!PhoneNumber.Value
.
Dataset
Konstanta yang menentukan nama himpunan data dalam laporan. Misalnya, "ContactInformation".
Kembali
Mengembalikan VariantArray, atau Tidak ada jika tidak ada kecocokan.
Keterangan
Gunakan LookupSet untuk mengambil sekumpulan nilai dari himpunan data yang ditentukan untuk pasangan nama/nilai di mana ada hubungan 1-ke-banyak. Misalnya, untuk pengidentifikasi pelanggan dalam tabel, Anda dapat menggunakan LookupSet untuk mengambil semua nomor telepon terkait untuk pelanggan tersebut dari himpunan data yang tidak terikat ke wilayah data.
LookupSet melakukan hal berikut:
Mengevaluasi ekspresi sumber dalam cakupan saat ini.
Mengevaluasi ekspresi tujuan untuk setiap baris himpunan data yang ditentukan setelah filter diterapkan, berdasarkan kolase himpunan data yang ditentukan.
Untuk setiap kecocokan ekspresi sumber dan ekspresi tujuan, mengevaluasi ekspresi hasil untuk baris tersebut dalam himpunan data.
Mengembalikan kumpulan nilai ekspresi hasil.
Untuk mengambil nilai tunggal dari himpunan data dengan pasangan nama/nilai untuk nama tertentu di mana ada hubungan 1-ke-1, gunakan Fungsi Pencarian (Pembangun Laporan dan SSRS). Untuk memanggil Pencarian untuk sekumpulan nilai, gunakan Fungsi Multilookup (Report Builder dan SSRS).
Pembatasan berikut berlaku:
LookupSet dievaluasi setelah semua ekspresi filter diterapkan.
Hanya satu tingkat pencarian yang didukung. Ekspresi sumber, tujuan, atau hasil tidak dapat menyertakan referensi ke fungsi pencarian.
Ekspresi sumber dan tujuan harus mengevaluasi ke jenis data yang sama.
Ekspresi sumber, tujuan, dan hasil tidak dapat menyertakan referensi untuk melaporkan atau mengelompokkan variabel.
LookupSet tidak dapat digunakan sebagai ekspresi untuk item laporan berikut:
String koneksi dinamis untuk sumber data.
Bidang terhitung dalam himpunan data.
Parameter kueri dalam himpunan data.
Filter dalam himpunan data.
Parameter laporan.
Properti Report.Language.
Untuk informasi selengkapnya, lihat Referensi Fungsi Agregat (Penyusun Laporan dan SSRS) dan Cakupan Ekspresi untuk Total, Agregat, dan Koleksi Bawaan (Pembuat Laporan dan SSRS).
Contoh
Dalam contoh berikut, asumsikan tabel terikat ke himpunan data yang menyertakan pengidentifikasi wilayah penjualan TerritoryGroupID. Himpunan data terpisah yang disebut "Toko" berisi daftar semua penyimpanan di wilayah dan menyertakan ID pengidentifikasi wilayah dan nama store StoreName.
J. Gunakan LookupSet
Dalam ekspresi berikut, LookupSet membandingkan nilai TerritoryGroupID dengan ID untuk setiap baris dalam himpunan data yang disebut "Stores". Untuk setiap kecocokan, nilai bidang StoreName untuk baris tersebut ditambahkan ke kumpulan hasil.
=LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores")
B. Gunakan Gabung untuk membuat daftar hasil
Karena LookupSet mengembalikan kumpulan objek, Anda tidak dapat menampilkan ekspresi hasil secara langsung dalam kotak teks. Anda dapat menggabungkan nilai setiap objek dalam koleksi sebagai string.
Gunakan fungsi Visual Basic Gabung membuat string yang dibatasi dari sekumpulan objek. Gunakan koma sebagai pemisah untuk menggabungkan objek dalam satu baris. Di beberapa perender, Anda mungkin menggunakan umpan baris Visual Basic (vbCrLF
) sebagai pemisah untuk mencantumkan setiap nilai pada baris baru.
Ekspresi berikut, saat digunakan sebagai properti Nilai untuk kotak teks, menggunakan Gabung untuk membuat daftar.
=Join(LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores"),",")
C. Menambahkan kode untuk menghasilkan HTML
Untuk kotak teks yang hanya dirender beberapa kali, Anda dapat memilih untuk menambahkan kode kustom untuk menghasilkan HTML untuk menampilkan nilai dalam kotak teks. HTML dalam kotak teks memerlukan pemrosesan ekstra, jadi ini tidak akan menjadi pilihan yang baik untuk kotak teks yang dirender ribuan kali.
Salin fungsi Visual Basic berikut ke blok Kode dalam definisi laporan. MakeList mengambil array objek yang dikembalikan dalam result_expression dan menyusun daftar yang tidak berurut dengan menggunakan tag HTML. Panjang mengembalikan jumlah item dalam array objek.
Function MakeList(ByVal items As Object()) As String
If items Is Nothing Then
Return Nothing
End If
Dim builder As System.Text.StringBuilder =
New System.Text.StringBuilder()
builder.Append("<ul>")
For Each item As Object In items
builder.Append("<li>")
builder.Append(item)
Next
builder.Append("</ul>")
Return builder.ToString()
End Function
Function Length(ByVal items as Object()) as Integer
If items is Nothing Then
Return 0
End If
Return items.Length
End Function
D. Memanggil fungsi
Untuk menghasilkan HTML, Anda harus memanggil fungsi . Tempelkan ekspresi berikut ini di properti Nilai untuk kotak teks dan atur jenis markup untuk teks ke HTML. Untuk informasi selengkapnya, lihat Menambahkan HTML ke dalam Laporan (Penyusun Laporan dan SSRS).
=Code.MakeList(LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores"))
Lihat juga
Penggunaan Ekspresi dalam Laporan (Penyusun Laporan dan SSRS)
Contoh Ekspresi (Penyusun Laporan dan SSRS)
Jenis Data dalam Ekspresi (Penyusun Laporan dan SSRS)
Cakupan Ekspresi untuk Total, Agregat, dan Koleksi Bawaan (Report Builder dan SSRS)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk