Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server Veri Araçları'nda Microsoft Rapor Oluşturucusu (SSRS)
Power BI Rapor Oluşturucusu
Rapor Tasarımcısı
Sayfalandırılmış raporda ad/değer çiftleri içeren bir veri kümesinden belirtilen ad için eşleşen değerler kümesini döndürür.
Uyarı
Sayfalandırılmış rapor tanımı (.rdl) dosyalarını Microsoft Rapor Oluşturucusu'nda, Power BI Rapor Oluşturucusu'nda ve SQL Server Veri Araçları'ndaki Rapor Tasarımcısı'nda oluşturabilir ve değiştirebilirsiniz.
Sözdizimi
LookupSet(source_expression, destination_expression, result_expression, dataset)
Parametreler
source_expression
(Değişken) Geçerli kapsamda değerlendirilen ve arama için adı veya anahtarı belirten bir ifade. Örneğin, =Fields!ID.Value.
destination_expression
(Değişken) Bir veri kümesindeki her satır için değerlendirilen ve eşleşmesi gereken adı veya anahtarı belirten ifade. Örneğin, =Fields!CustomerID.Value.
result_expression
(Değişken) veri kümesindeki source_expression destination_expression = satırı için değerlendirilen ve alınacak değeri belirten bir ifade. Örneğin, =Fields!PhoneNumber.Value.
dataset
Rapordaki bir veri kümesinin adını belirten sabit. Örneğin, "ContactInformation".
Return
VariantArray döndürür, ya da eşleşme yoksa Yok döndürür.
Açıklamalar
Belirtilen veri kümesinden, 1-çok ilişkisi bulunan bir ad/değer çifti için değerler kümesini almak amacıyla LookupSet kullanın. Örneğin, bir tablodaki müşteri tanımlayıcısı için LookupSet kullanarak veri bölgesine bağlı olmayan bir veri kümesinden ilgili müşterinin tüm ilişkili telefon numaralarını alabilirsiniz.
LookupSet aşağıdakileri yapar:
Geçerli kapsamdaki kaynak ifadeyi değerlendirir.
Filtreler uygulandıktan sonra belirtilen veri kümesinin her satırı için hedef ifadeyi, belirtilen veri kümesinin harmanlaması temelinde değerlendirir.
Kaynak ifade ve hedef ifadenin her eşleşmesi için, veri kümesindeki bu satır için sonuç ifadesini değerlendirir.
Sonuç ifadesi değerleri kümesini döndürür.
1-1 ilişkisi olan belirtilen bir ad için ad/değer çiftleri içeren bir veri kümesinden tek bir değer almak için Arama İşlevi 'ni (Rapor Oluşturucusu ve SSRS) kullanın. Bir değer kümesi için Arama'yı çağırmak için Multilookup İşlevi'ni (Rapor Oluşturucusu ve SSRS) kullanın.
Aşağıdaki kısıtlamalar geçerlidir:
LookupSet , tüm filtre ifadeleri uygulandıktan sonra değerlendirilir.
Yalnızca bir arama düzeyi desteklenir. Kaynak, hedef veya sonuç ifadesi arama işlevine başvuru içeremez.
Kaynak ve hedef ifadeler aynı veri türüne göre değerlendirilmelidir.
Kaynak, hedef ve sonuç ifadeleri rapor veya grup değişkenlerine başvuru içeremez.
LookupSet , aşağıdaki rapor öğeleri için ifade olarak kullanılamaz:
Veri kaynağı için dinamik bağlantı dizeleri.
Bir veri kümesindeki hesaplanan alanlar.
Veri kümesindeki sorgu parametreleri.
Bir veri kümesindeki filtreler.
Rapor parametreleri.
Report.Language özelliği.
Daha fazla bilgi için bkz. Toplama İşlevleri Başvurusu (Rapor Oluşturucusu ve SSRS) ve Toplamlar, Toplamalar ve Yerleşik Koleksiyonlar için İfade Kapsamı (Rapor Oluşturucusu ve SSRS).
Örnekler
Aşağıdaki örneklerde, tablonun TerritoryGroupID satış bölgesi tanımlayıcısı içeren bir veri kümesine bağlı olduğunu varsayalım. "Stores" adlı ayrı bir veri kümesi, bir bölgede yer alan tüm mağazaların listesini ve bölge tanımlayıcı kimliğini ve StoreName mağaza adını içerir.
A. LookupSet Kullanımı
Aşağıdaki ifadede LookupSet , veri kümesindeki "Stores" adlı her satır için TerritoryGroupID değerini ID ile karşılaştırır. Her eşleşme için, bu satırın StoreName alanının değeri sonuç kümesine eklenir.
=LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores")
B. Sonuç listesi oluşturmak için Join kullanma
LookupSet bir nesne koleksiyonu döndürdüğünden, sonuç ifadesini doğrudan bir metin kutusunda görüntüleyemezsiniz. Koleksiyondaki her nesnenin değerini dize olarak birleştirebilirsiniz.
Bir nesne kümesinden sınırlandırılmış bir dize oluşturmak için Visual Basic join işlevini kullanın. Nesneleri tek bir satırda birleştirmek için ayırıcı olarak virgül kullanın. Bazı işleyicilerde, her değeri yeni bir satırda listelemek için ayırıcı olarak Visual Basic satır akışı (vbCrLF) kullanabilirsiniz.
Aşağıdaki ifade, bir metin kutusu için Value özelliği olarak kullanıldığında, liste oluşturmak için Join kullanır.
=Join(LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores"),",")
C. HTML oluşturmak için kod ekleme
Yalnızca birkaç kez görüntülenen metin kutuları için, metin kutusunda değerleri gösterecek HTML oluşturmak amacıyla özel kod ekleyebilirsiniz. Metin kutusundaki HTML ek işleme gerektirir, bu nedenle binlerce kez işlenen bir metin kutusu için bu iyi bir seçim değildir.
Aşağıdaki Visual Basic işlevlerini rapor tanımındaki bir Kod bloğuna kopyalayın. MakeList, result_expression döndürülen nesne dizisini alır ve HTML etiketlerini kullanarak sıralanmamış bir liste oluşturur. Uzunluk , nesne dizisindeki öğe sayısını döndürür.
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. İşlevi çağır
HTML oluşturmak için işlevini çağırmanız gerekir. Metin kutusunun Value özelliğine aşağıdaki ifadeyi yapıştırın ve metnin işaretleme türünü HTML olarak ayarlayın. Daha fazla bilgi için bkz. Rapora HTML Ekleme (Rapor Oluşturucusu ve SSRS).
=Code.MakeList(LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores"))