LookupSet İşlevi (Rapor Oluşturucusu 3.0 ve SSRS)

Ad/değer çiftleri içeren bir veri kümesinden belirtilen ad için eşleşen değerlerin kümesini verir.

Not

Business Intelligence Development Studio'daki Rapor Oluşturucusu 3.0 ve Rapor Tasarımcısı ile rapor tanımlarını (.rdl) oluşturabilir ve 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 3.0'da Rapor Tasarlama makalesine bakın.

Sözdizimi

LookupSet(source_expression, destination_expression, result_expression, dataset)

Parametreler

  • source_expression
    (Variant) Geçerli değerlendirilen bir ifade kapsam adını veya yükleneceği yer aramak için anahtar belirtir veÖrneğin, =Fields!ID.Value.

  • destination_expression
    (Variant) Bir dataset içindeki her satırı için değerlendirilir ve adını veya üzerinde eşleştirmek için anahtar belirtir bir ifade.Örneğin, =Fields!CustomerID.Value.

  • result_expression
    (Variant) Satır DataSet için değerlendirilen bir ifade olduğu source_expression = destination_expression, ve belirleyen bir değer almak içinÖrneğin, =Fields!PhoneNumber.Value.

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

Döndür

Döndürür bir VariantArray, veya Nothing , var. hiçbir eşleşme

Açıklamalar

Use LookupSet belirtilen dataset bir ad/değer çifti için bir değerler küme almak için bulunduğu bir 1-çok ilişkisi.Örneğin bir müşteri tanımlayıcısı bir tablo, kullanabileceğiniz LookupSet , değil bağlı olduğu dataset nesnesinden o müşteriye ait tüm ilişkili telefon numaralarını almak içinveri bölgesi bölgesi bölge.

LookupSet 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.

  • Her bir kaynak ifade ve hedef ifade eşleştirmesiyle ilgili olarak, veri kümesinde bu satır için sonuç ifadeyi değerlendirir.

  • Sonuç ifade değerleri kümesini verir.

Belirli bir ad için ad/değer çiftleri ile dataset nesnesinden tek bir değer almak için 1-1 ilişki burada kullanmak Lookup İşlevi (Rapor Oluşturucusu 3.0 ve SSRS).Aranacak Lookup için bir küme , değerlerini kullanan Multilookup İşlevi (Rapor Oluşturucusu 3.0 ve SSRS).

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

  • LookupSet, 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.

  • Kaynak, hedef ve sonuç ifadeler rapor veya grup değişkenleri başvurular içeremez.

  • LookupSet Aşağıdaki rapor öğeler 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.

    • The Report.Language property.

Daha fazla bilgi için bkz: Toplama İşlevleri Başvurusu (Rapor Oluşturucusu 3.0 ve SSRS) ve Toplamlar, Toplamalar ve Yerleşik Koleksiyonlar için İfade Kapsamını Anlama (Rapor Oluşturucusu 3.0 ve SSRS).

Örnek

Aşağıdaki örnekte, satış bölgesi tanımlayıcısı içeren bir DataSet'e tablo bağlı olduğu varsayılmaktadır TerritoryGroupID."Mağazalar" olarak adlandırılan ayrı bir dataset bölge içindeki tüm mağazalara listesini içerir ve bölge tanımlayıcısını içeren ID ve depo adı StoreName.

Aşağıdaki ifade, LookupSet değeri karşılaştırır TerritoryGroupID için ID "Mağazalar" olarak adlandırılan dataset içindeki her satır için.Her, eşleştirme için değeri StoreName için o satırda alan ekleniyor sonuç küme.

=LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores")

Çünkü LookupSet koleksiyonunu döndürür, nesnelerin sonucu görüntülenemiyor ifade doğrudan içinde bir metin kutusu.Topluluktaki her bir nesnenin değerini bir dize olarak birleştirebilirsiniz.

Use Visual Basic işlev Join sınırlanmış bir oluşturmak dize bir dizi nesneleri.Nesneleri tek bir satırda birleştirmek için ayırıcı olarak virgül kullanın.Bazı oluşturucu içinde kullanım bir Visual Basic satır besleme (vbCrLF) her değerin üzerinde yeni bir hat. listelemek için ayırıcı olarak

Aşağıdaki ifadeolarak kullanıldığında, Value özellik bir metin kutusu için kullandığı Join oluşturma listesi.

=Join(LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores"),",")

Yalnızca birkaç kez işlenen metin kutuları için, metin kutusunda değerleri görüntüleyecek HTML'i üretmek üzere özel kod eklemeyi seçebilirsiniz.Bir metin kutusundaki HTML için fazladan işlem yapılması gerekeceğinden, binlerce kez işlenen bir metin kutusu için bu iyi bir fikir değildir.

Aşağıdaki Visual Basic için çalışan bir Code blok bir rapor tanımı.MakeList , döndürülen nesne dizi alır result_expression kullanarak sýralanmamýþ bir liste oluştururhtml etiketleri. Uzunluğu nesne dizi öğe sayısını verir.

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

HTML'yi oluşturmak için, işlevi çağırmanız gerekir.Aşağıdaki yapıştırın ifade , Value özellik için metin kutusu ve küme işaretleme yazın metin html.Daha fazla bilgi için bkz: Nasıl yapılır: Rapora HTML Ekleme (Rapor Oluşturucusu 3.0 ve SSRS).

=Code.MakeList(LookupSet(Fields!TerritoryGroupID.Value, Fields!ID.Value, Fields!StoreName.Value, "Stores"))