Aracılığıyla paylaş


Özel kod ve derleme başvuruları ifadelerde Rapor Tasarımcısı (ssrs)

Bir rapora katıştırılmış özel kod veya oluşturmak ve bilgisayarınıza kaydetmek ve rapor sunucusu dağıtmak özel derlemeler başvuruları ekleyebilirsiniz.Katıştırılmış kodu özel sabitler, karmaşık işlevler veya tek bir raporda birden fazla kez kullanılan işlevler için kullanın.Özel kod kod tek bir yerde tutmak ve çoklu raporları tarafından kullanılmak üzere paylaşın için kullanabileceksiniz.Özel yeni özel sabitler, değişkenler, işlevler ve alt yordamlar içerebilir.Parameters koleksiyonu gibi yerleşik koleksiyonlar için salt okunur başvurular ekleyebilirsiniz.Ancak, özel işlevlere rapor verisi değerleri kümeleri geçiremezsiniz; özellikle de, özel toplamlar desteklenmez.

Güvenlik notuGüvenlik Notu

İçin saat- çalışma zamanında bir kez değerlendirilen hassas hesaplamalar -saat ve rapor işleme tamamında aynı değeri kalmasını istediğinizi düşünün rapor değişkeni veya grup değişkeni kullanılıp kullanılmayacağını.Daha fazla bilgi için bkz: Rapor ve Grup Değişken Koleksiyonları Başvurularını Kullanma (Rapor Oluşturucusu 3.0 ve SSRS).

Rapor Tasarımcısı rapor için özel kod eklemek için kullanılacak tercih edilen geliştirme ortamıdır.Rapor Oluşturucu 3.0 destekler işlem raporları geçerli ifadeler varsa veya üzerinde özel derlemelerine başvurular içeren bir rapor sunucusu.Rapor Oluşturucu özel bir başvuru eklemek için bir yol sağlamaz derleme.

Not

Rapor sunucusu yükseltme sırasında özel birleştirmelere bağımlı raporları yükseltme işlemini tamamlamak için ek adımlar gerekebilir unutmayın.Daha fazla bilgi için bkz: Yükseltme Danışmanı'nı kullanarak yükseltme için hazırlama.

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.

Bu Makalede

Özel Rapor Oluşturucuyu 3.0 kodu ile çalışma

Sık Kullanılan İşlevlere Başvuru Ekleme

Daha az sık kullanılan işlevler başvurular da dahil olmak üzere

Dış birleştirmeler başvurular da dahil olmak üzere

Katıştırılmış kod da dahil olmak üzere

Parametreleri koddan yapılan başvurular da dahil olmak üzere

Özel derlemeler koduna yapılan başvuruları da dahil olmak üzere

Özel Rapor Oluşturucuyu 3.0 kodu ile çalışma

Rapor Oluşturucu ', özel derlemelerine başvurular içeren bir rapor sunucusu bir raporu açabilirsiniz.Örneğin, oluşturulan ve dağıtılan, Rapor Tasarımcısı kullanarak rapor düzenleyebilirsiniz Business Intelligence Development Studio.Özel derlemeler için rapor sunucusu dağıtılmış olmalıdır.

Aşağıdaki işlemleri yapamaz:

  1. Başvurular veya sınıf üye örneklerinin bir rapora ekleyin.

  2. Yerel modda özel derlemelerine başvurular içeren bir rapor önizleme yapın.

Başa Dön bağlantısıyla kullanılan ok simgesiBaşa Dön

Sık Kullanılan İşlevlere Başvuru Ekleme

Use ifade ortak işlevler için yerleşik sınıflandırılmış bir listesini görüntülemek için iletişim kutusunu Reporting Services.Genişletme Ortak işlevler bir kategoriyi tıklatın ve Madde bir ifade içeren işlevlerin listesi bölmesini görüntüler.The common functions include classes from the .NET Framework System.Math and System.Convert namespaces and Visual Basic run-time library functions.Kolaylık olması için en sık kullanılan işlevleri de görüntüleyebilirsiniz ifade iletişim kutusunda, burada bunlar listelenen kategorilere göre: Metin, tarih ve saat, matematik, inceleme, Program akışı, toplama, finansal, dönüştürme ve sair.Daha az kullanılan işlevler listede görüntülenmez, ancak yine de bir ifade içinde kullanılabilir.

Yerleşik bir işlevi kullanmak için, Öğe bölmesinde işlevin adını çift tıklatın.İşlevi bir açıklaması açıklama bölmesinde görüntülenir ve işlev çağrısı örneği örnek Bölmesi'nde görünür. Sol ayraç işlev adı yazı yazarken code bölmesinde, (), her geçerli sözdizimi işlev çağrısı için IntelliSense Yardım'ı görüntüler.Örneğin, bir alan için maksimum değerini hesaplamak için adlı Quantity bir tablo basit ifade ekleme =Max( kod bölmesi için ve akıllı etiketleri görüntülemek mümkün geçerli sözdizimlerinin tümü için işlev çağrısı.Bu örnek tamamlamak için yazın =Max(Fields!Quantity.Value).

Her işlev hakkında daha fazla bilgi için bkz: System.Math, System.Convert, ve Visual Basic çalışma zamanı kitaplığı üyeleri MSDN'de.

Başa Dön bağlantısıyla kullanılan ok simgesiBaşa Dön

Daha az sık kullanılan işlevler başvurular da dahil olmak üzere

Daha az yaygın olarak kullanılan clr ad diğer bir başvuru eklemek için tam bir başvuru gibi kullanmanız gerekir System.Text.StringBuilder.IntelliSense kod bölmesinde desteklenmeyen ifade için bu iletişim kutusunu daha az sık kullanılan işlevler.

Daha fazla bilgi için bkz: Visual Basic çalışma zamanı kitaplığı üyeleri MSDN'de.

Dış birleştirmeler başvurular da dahil olmak üzere

Harici bir derlemede bir sınıf bir başvuru eklemek için rapor işlemci için derleme tanımlamanız gerekir.Kullanım başvuruları sayfa Rapor özelliklerini rapora eklemek için derleme tam nitelikli adını belirtmek için iletişim kutusu.İçinde kendi ifade, derleme sınıfın tam adını kullanmanız gerekir.Dış derleme sınıflarda yok görünüyor ifade iletişim kutusu; sınıf için doğru adı sağlamanız gerekir.Tam adı, ad, sınıf adını ve üye adını içerir.

Başa Dön bağlantısıyla kullanılan ok simgesiBaşa Dön

Katıştırılmış kod da dahil olmak üzere

Katıştırılmış kod için bir rapor eklemek için kod sekmesini kullanın Rapor özelliklerini iletişim kutusu.Oluşturduğunuz kod bloğu birden fazla yöntem içerebilir.Methods in embedded code must be written in Microsoft Visual Basic and must be instance-based. The report processor automatically adds references for the System.Convert and System.Math namespaces.Kullanım başvuruları sayfa Rapor özelliklerini ek Derleme başvuruları eklemek için iletişim kutusu. Daha fazla bilgi için bkz: Nasıl yapılır: Bir raporu (ssrs) için bir derleme başvurusu Ekle.

Katıştırılmış kod yöntemleri kullanılabilir bir genel olarak tanımlanan Code üye.Bunlar için başvuran tarafından erişim Code üye ve yöntem adı.Aşağıdaki örnek yöntem çağırır ToUSD, değere dönüştüren StandardCost dolar değeri alan:

=Code.ToUSD(Fields!StandardCost.Value)

Yerleşik Koleksiyonlar özel kodunuzda başvurmak için yerleşik bir başvuru eklemek Report Nesne:

=Report.Parameters!Param1.Value

Aşağıdaki örnekler, bazı özel sabitleri ve değişkenleri tanımlamak nasıl açıklar.

Public Const MyNote = "Authored by Bob"
Public Const NCopies As Int32 = 2
Public Dim  MyVersion As String = "123.456"
Public Dim MyDoubleVersion As Double = 123.456

Özel sabitler de gibi görünmesine karşın sabitler kategorisinde ifade ekleyebileceğiniz bunları herhangi bir ifadeden başvuruları aşağıdaki örneklerde gösterildiği gibi (yalnızca yerleşik sabitler görüntüler) iletişim kutusu.Özel bir sabit bir ifade kabul edilir bir Variant.

=Code.MyNote
=Code.NCopies
=Code.MyVersion
=Code.MyDoubleVersion

Aşağıdaki örnek kodu başvurusu hem işlev kodu uygulaması içeren FixSpelling, metni değiştirir "Bicycle" "Bisiklet" metnin tüm tekrarlarını de SubCategory alan.

=Code.FixSpelling(Fields!SubCategory.Value)

Aşağıdaki kod, bir rapor tanımı kod katıştırılmış blok, uygulaması gösterir FixSpelling yöntem.This example shows you how to use a fully qualified reference to the Microsoft .NET Framework StringBuilder class.

Public Function FixSpelling(ByVal s As String) As String
   Dim strBuilder As New System.Text.StringBuilder(s)
   If s.Contains("Bike") Then
      strBuilder.Replace("Bike", "Bicycle")
      Return strBuilder.ToString()
      Else : Return s
   End If
End Function

Yerleşik nesnesinin derlemeleri ve başlatma hakkında daha fazla bilgi için bkz: Yerleşik Genel Değerleri ve Kullanıcı Başvurularını Kullanma (Rapor Oluşturucusu 3.0 ve SSRS) ve Özel derleme nesneleri başlatılıyor.

Başa Dön bağlantısıyla kullanılan ok simgesiBaşa Dön

Parametreleri koddan yapılan başvurular da dahil olmak üzere

Genel parametreler koleksiyonuna, rapor tanımının Kod bloğundaki özel kod aracılığıyla veya sağladığınız özel bir derleme içinden başvuruda bulunabilirsiniz.Parametreler koleksiyonu salt okunurdur ve hiç genel yineleyicisi yoktur.You cannot use a Visual Basic For Each construct to step through the collection.Rapor tanımında tanımlanmış olan parametreye kodunuzda başvuruda bulunabilmeniz için önce adını öğrenmeniz gerekir.Ancak, çok değerli bir parametrenin tüm değerlerine yineleyerek erişebilirsiniz.

Aşağıdaki tablo yerleşik başvuran örnekleri içeren koleksiyon Parameters özel kod:

Açıklama

İfadedeki başvuru

Özel Kod tanımı

Genel parametre koleksiyonunun tamamını özel koda geçirme.

Bu işlev, belirli bir rapor parametresinin değeri döndürür MyParameter.

=Code.DisplayAParameterValue(Parameters)

Public Function DisplayAParameterValue(

ByVal parameters as Parameters) as Object

Return parameters("MyParameter").Value

End Function

Tek bir parametreyi özel koda geçirme.

Bu örnek, geçirilen parametre değeri döndürür.Parametre dönüş değerli bir parametresi ise dize tüm değerlerin bir yapıdır.

=Code.ShowParametersValues(Parameters!DayOfTheWeek)

Public Function ShowParameterValues(ByVal parameter as Parameter)
 as String
   Dim s as String 
   If parameter.IsMultiValue then
      s = "Multivalue: " 
      For i as integer = 0 to parameter.Count-1
         s = s + CStr(parameter.Value(i)) + " " 
      Next
   Else
      s = "Single value: " + CStr(parameter.Value)
   End If
   Return s
End Function

Başa Dön bağlantısıyla kullanılan ok simgesiBaşa Dön

Özel derlemeler koduna yapılan başvuruları da dahil olmak üzere

Özel derlemeler bir raporda kullanmak için ilk derleme oluşturmak, Rapor Tasarımcısı olun derlemesine bir rapora eklemek ve sonra bu derlemede yer alan yöntemlere başvurmak için rapora bir ifade kullanmak gerekir.Rapor olduğunda dağıtmaked için rapor sunucusu gerekir ayrıca dağıtmak özel derleme için rapor sunucusu.

Kullanılabilir hale getirir ve özel derleme oluşturma hakkında bilgi için Reporting Services, bkz: Reports ile özel Assemblies kullanma.

Özel kod içinde başvurmak için bir ifade, derleme içindeki bir sınıfın üye çağırması gerekir.Bunu nasıl yöntem statik veya örnek olmasına bağlıdır.Genel rapor içinde özel bir derleme içinde statik yöntemler kullanılabilir.Ad, sınıf ve yöntem adı belirterek, ifadelerde statik yöntemlere erişebilirsiniz.Aşağıdaki örnek yöntem çağırır ToGBP, değerini dönüştürür StandardCost pound sterlin-dolar arasında değer:

=CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)

Örnek tabanlı yöntemler kullanılabilir bir genel olarak tanımlanan Code üye.Bunlar için başvuran tarafından erişim Code üye, ardından örnek ve yöntem adı.Aşağıdaki örnek örnek yöntem çağırır ToEURdeğerine dönüştürür, StandardCost dolar Euro dan:

=Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)

Not

Rapor Tasarımcısı, özel bir derleme, bir kez yüklenir ve kaldırılır, kapatılıncaya kadar Visual Studio.Raporu önizlemede görüntüleme, raporda kullanılan özel bir derleme değişiklik ve raporu yeniden önizleme uygulayın, değişiklikleri ikinci önizlemede görüntülenir.Derleme, Kapat'ı yeniden yükleyin ve yeniden Visual Studio ve sonra Önizleme raporu.

Kodunuzu erişme hakkında daha fazla bilgi için bkz: Özel Assemblies ifadeleri erişme.

Başa Dön bağlantısıyla kullanılan ok simgesiBaşa Dön