Aracılığıyla paylaş


Rapor Oluşturucusu işlevleri - Sayfalandırılmış rapordaki çoklu ara işlevi (Rapor Oluşturucusu)

Ş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 kümesi için ilk eşleşme değerleri 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

  
Multilookup(source_expression, destination_expression, result_expression, dataset)  

Parametreler

source_expression
(VariantArray) Geçerli kapsamda değerlendirilen ve arama için ad veya anahtar kümesini belirten bir ifade. Örneğin, birden çok değerli parametre için . =Parameters!IDs.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!ID.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!Name.Value.

dataset
Rapordaki bir veri kümesinin adını belirten sabit. Örneğin, "Renkler".

Return

VariantArray döndürür, ya da eşleşme yoksa Yok döndürür.

Açıklamalar

Her çiftin 1-1 ilişkisi olduğu ad-değer çiftleri için bir veri kümesinden değer kümesi almak için Multilookup kullanın. MultiLookup , bir dizi ad veya anahtar için Arama çağrısının eşdeğeridir. Örneğin, birincil anahtar tanımlayıcılarını temel alan çok değerli bir parametre için, parametreye veya tabloya bağlı olmayan bir veri kümesinden ilişkili değerleri almak için tablodaki metin kutusundaki ifadede Multilookup kullanabilirsiniz.

Multilookup aşağıdakileri yapar:

  • Geçerli kapsamdaki kaynak ifadeyi değerlendirir ve bir değişken nesne dizisi oluşturur.

  • Dizideki her nesne için Arama İşlevi'ni (Rapor Oluşturucusu ve SSRS) çağırır ve sonucu dönüş dizisine ekler.

  • Sonuç 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. 1-çok ilişkisi olan bir ad için ad-değer çiftleri içeren bir veri kümesinden birden çok değer almak amacıyla LookupSet İşlevi'ni (Rapor Oluşturucusu ve SSRS) kullanın.

Aşağıdaki kısıtlamalar geçerlidir:

  • Tüm filtre ifadeleri uygulandıktan sonra Multilookup 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.

  • Multilookup 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. MultiLookup işlevini kullanma

"Category" adlı bir veri kümesinin CategoryList alanını içerdiğini varsayalım. Bu alan, "2, 4, 2, 1" gibi kategori tanımlayıcılarının virgülle ayrılmış listesini içeren bir alantır.

CategoryNames veri kümesi, aşağıdaki tabloda gösterildiği gibi kategori tanımlayıcısını ve kategori adını içerir.

Kimlik İsim
1 Aksesuar -lar
2 Bisiklet
3 Giysi
4 Components

Tanımlayıcı listesine karşılık gelen adları aramak için Multilookup kullanın. Önce listeyi bir dize dizisine bölmeniz, kategori adlarını almak için Multilookup'ı çağırmanız ve sonuçları bir dizede birleştirmeniz gerekir.

Aşağıdaki ifade, Kategori veri kümesine bağlı bir veri bölgesindeki bir metin kutusuna yerleştirildiğinde "Bisikletler, Bileşenler, Bisikletler, Aksesuarlar" ifadesini görüntüler:

=Join(MultiLookup(Split(Fields!CategoryList.Value,","),  
   Fields!CategoryID.Value,Fields!CategoryName.Value,"Category")),  
   ", ")  

B. MultiLookup'ı birden çok değerli parametreyle kullanma

ProductColors veri kümesinin, aşağıdaki tabloda gösterildiği gibi ColorID renk tanımlayıcısı alanı ve Renk renk değeri alanı içerdiğini varsayalım.

ColorID Renk
1 Red
2 Blue
3 Green

MyColors çok değerli parametresinin kullanılabilir değerleri için bir veri kümesine bağlı olmadığını varsayalım. parametresi için varsayılan değerler 2 ve 3 olarak ayarlanır. Aşağıdaki ifade, bir tablodaki metin kutusuna yerleştirildiğinde parametre için seçilen birden çok değeri virgülle ayrılmış bir listeyle birleştirir ve "Mavi, Yeşil" ifadesini görüntüler.

=Join(MultiLookup(Parameters!MyColors.Value,Fields!ColorID.Value,Fields!Color.Value,"ProductColors"),", ")