Aracılığıyla paylaş


Lookup İşlevi (Rapor Oluşturucusu ve SSRS)

Ad/değer çiftleri içeren bir veri kümesinden belirtilen ad için ilk eşleştirme değerini verir.

[!NOT]

SQL Server Data Tools'daki Rapor Oluşturucusu ve Rapor Tasarımcısı ile rapor tanımları (.rdl) oluşturabilir ve bunları değiştirebilirsiniz. Her yazma ortamı raporları ve ilişkili öğeleri oluşturmak, açmak ve kaydetmek için farklı yollar sağlar. Daha fazla bilgi için, Web'de microsoft.com sitesinde Rapor Tasarımcısı'nda ve Oluşturucusu'nda Rapor Tasarlama makalesine bakın.

Sözdizimi

Lookup(source_expression, destination_expression, result_expression, dataset)

Parametreler

  • source_expression
    (Variant) Geçerli kapsamda değerlendirilen ve aranacak ad veya anahtarı belirten bir ifade. Örneğin, =Fields!ProdID.Value.

  • destination_expression
    (Variant) Bir veri kümesindeki her bir satır için değerlendirilen ve eşleştirilecek adı veya anahtarı belirten bir ifade. Örneğin, =Fields!ProductID.Value.

  • result_expression
    (Variant) Veri kümesinde source_expression = destination_expression olan satır için değerlendirilen ve alınacak değeri belirten bir ifade. Örneğin, =Fields!ProductName.Value.

  • dataset
    Rapordaki bir veri kümesinin adını belirten bir sabit. Örneğin, "Ürünler".

Döndür

Bir Variant verir veya bir eşleştirme yoksa Nothing verir.

Açıklamalar

1'e 1 ilişkisi olan bir ad/değer çifti için belirtilen veri kümesinden değeri almak üzere Lookup işlevini kullanın. Örneğin, bir tablodaki ID alanı için, veri bölgesine bağlı olmayan bir veri kümesinden ilgili Name alanını almak için Lookup işlevini kullanabilirsiniz.

Lookup aşağıdakileri yapar:

  • Kaynak ifadeyi geçerli kapsamda değerlendirir.

  • Hedef ifadeyi, belirtilen veri kümesinin derlemesine dayalı olarak, belirtilen veri kümesinin her bir satırı için filtreler uygulandıktan sonra değerlendirir.

  • İlk kaynak ifade ve hedef ifade eşleştirmesinde, veri kümesinde bu satır için sonuç ifadeyi değerlendirir.

  • Sonuç ifade değerini verir.

Bir ad için 1'e çok ilişkisi bulunan tek bir ad veya anahtar alanı için birden çok değer almak üzere, LookupSet İşlevi (Rapor Oluşturucusu ve SSRS) işlevini kullanın. Bir değer kümesi için Lookup işlevini kullanmak üzere, Multilookup İşlevi (Rapor Oluşturucusu ve SSRS) işlevini kullanın.

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

  • Lookup, tüm filtre ifadeleri uygulandıktan sonra değerlendirilir.

  • Yalnızca tek düzeyli arama desteklenir. Bir kaynak, hedef veya sonuç ifadesi, bir arama işlevine başvuru içeremez.

  • Kaynak ve hedef ifadelerinin değerlendirmesi aynı veri türünü vermelidir. Dönüş türü, değerlendirilen sonuç ifadenin veri türüyle aynıdır.

  • Kaynak, hedef ve sonuç ifadeleri, rapor veya grup değişkenlerine başvuru içeremez.

  • Lookup, aşağıdaki rapor öğeleri için bir ifade olarak kullanılamaz:

    • Bir veri kaynağı için dinamik bağlantı dizeleri.

    • Bir veri kümesindeki hesaplanan alanlar.

    • Bir 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 İçin İfade Kapsamı (Rapor Oluşturucusu ve SSRS).

Örnek

Aşağıdaki örnekte, bir tablonun ProductID ürün tanımlayıcısı için bir alan içeren veri kümesine bağlı olduğunu varsayalım. "Ürün" olarak adlandırılan ayrı bir veri kümesi, ilgili ID ürün tanımlayıcısını ve Name ürün adını içerir.

Aşağıdaki ifadede, Lookup işlevi, "Ürün" olarak adlandırılan veri kümesinin her bir satırında ProductID değerini ID ile karşılaştırır ve bir eşleştirme bulunduğunda, bu satır için Name alanının değerini verir.

=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")

Ayrıca bkz.

Başvuru

İfade Örnekleri (Rapor Oluşturucusu ve SSRS)

Kavramlar

Raporlarda İfade Kullanımı (Rapor Oluşturucusu ve SSRS)

İfadelerdeki Veri Türleri (Rapor Oluşturucusu ve SSRS)

Toplamlar, Toplamalar ve Yerleşik Koleksiyonlar İçin İfade Kapsamı (Rapor Oluşturucusu ve SSRS)