Aracılığıyla paylaş


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

Özel kodlar, raporunda gömülü ya da bilgisayarınıza kaydetmek oluşturmak ve rapor sunucuya 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 kodu tek bir yerde tutmak ve çoklu raporları tarafından kullanılmak üzere paylaşmak 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

Çalışma ve bu değerin boyunca rapor işleme kalmasını istediğiniz bir kez değerlendirilir olan zamana duyarlı hesaplamalar için bir rapor değişken ya da Grup değişkeni kullanmak isteyip düşünün. Daha fazla bilgi için, bkz. Rapor ve Grup Değişkenleri Koleksiyonları Başvuruları (Rapor Oluşturucusu ve SSRS).

Rapor Tasarımcısı özel kod eklemek için kullanılacak tercih edilen geliştirme ortamıdır. Rapor geçerli ifadeler var veya bir raporu sunucuda özel derlemeler başvuruları içeren işleme Rapor Oluşturucuyu 0'ı destekler. Rapor Oluşturucu özel bir derleme başvuru eklemek için bir yol sağlamaz.

[!NOT]

Rapor sunucusu yükseltme sırasında üzerinde özel derlemeler bağlı raporları yükseltme işlemini tamamlamak için ek adımlar gerekebilir unutmayın. Daha fazla bilgi için, bkz. Yükseltmelere Hazırlanmak için Yükseltme Danışmanı'nı Kullanın.

[!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.

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 dahil

Başvuruda parametreleri kodu dahil

Kodu özel derlemeler başvuruda dahil

Geçen yerleşik koleksiyonlar halinde özel Assemblies

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

Rapor Oluşturucu'özel derlemeler başvuruları içeren bir rapor sunucudan rapor açabilirsiniz. Örneğin, oluşturulan ve dağıtılan Report Designer kullanarak rapor düzenleyebilir SQL Server Veri Akışı Araçları (SSDT). Özel derlemeler için rapor sunucusu dağıtılmış olmalıdır.

Aşağıdaki işlemleri yapamaz:

  1. Başvurular ya da sınıf üyesi örneklerini eklemek.

  2. Bir raporu ile yerel modda özel derlemeler başvuruları önizleyin.

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

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

Reporting Services içinde yerleşik bulunan ortak işlevlerin kategorilere ayrılmış bir listesini görüntülemek için İfade iletişim kutusunu kullanın. Ortak İşlevler öğesini genişletip bir kategori tıklattığınızda, ifadede yer verdiğiniz işlevlerin listesi Öğe bölmesinde görüntülenir. Ortak işlevler, .NET Framework System.Math ve System.Convert ad alanlarına ait sınıfları ve Visual Basic çalışma zamanı kitaplığı işlevlerini kapsar. Kolaylık sağlaması açısından, en çok kullanılan işlevleri Metin, Tarih ve Saat, Matematik, Denetim, Program Akışı, Toplam, Finansal, Dönüşüm ve Çeşitli kategorilerine göre listelenmiş olarak İfade iletişim kutusunda görüntüleyebilirsiniz. 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 açıklama bölmesinde görüntülenir ve işlev çağrısı örneği örnek Bölmesi'nde görünür. Code bölmesinde, bir sol ayraç işlev adını yazdığınızda (, her geçerli sözdizimi işlev çağrısı için IntelliSense Yardım'ı görüntüler. Örneğin, tabloda Quantity adlı bir alana ilişkin maksimum değeri hesaplamak için, Kod bölmesine =Max( basit ifadesini ekleyin ve sonra, işlev çağrısına ilişkin tüm olası geçerli sözdizimlerini görüntülemek için akıllı etiketleri kullanın. Bu örneği tamamlamak için =Max(Fields!Quantity.Value) yazın.

Her işlevi hakkında daha fazla bilgi için bkz: System.Math, System.Convert, ve Visual Basic Çalışma Zamanı Kitaplığı üyeleri MSDN.

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 sık kullanılan clr ad diğer bir başvuru eklemek için tam bir başvuru, örneğin, kullanmanız gereken System.Text.StringBuilder. IntelliSense Kod bölmesinde desteklenen 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.

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

Harici bir derlemede bir sınıf bir başvuru eklemek için derleme için rapor işlemci tanımlamanız gerekir. Kullanım başvuruları sayfası Rapor özelliklerini rapora eklemek için derleme tam adını belirtmek için iletişim kutusu. İfadenize, derleme sınıfın tam adını kullanmanız gerekir. Dış derleme sınıflarda değil gözükmek içinde 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ı içerir.

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

Katıştırılmış kod dahil

Katıştırılmış kod eklemek için kodu sekmesini kullanın Rapor özelliklerini iletişim kutusu. Oluşturduğunuz kod bloğu birden fazla yöntem içerebilir. Katıştırılmış kod yöntemleri yazılı, Microsoft  Visual Basicve örneği tabanlı olmalıdır. Rapor işlemci için başvuruları otomatik olarak ekler System.Convertve System.Mathnamespaces. Kullanım başvuruları sayfası Rapor özelliklerini ek derleme başvuruları eklemek için iletişim kutusu. Daha fazla bilgi için bkz: Rapor (ssrs) için bir derleme başvurusu ekle.

Katıştırılmış kod içindeki yöntemler, genel olarak tanımlanmış bir Code üyesi aracılığıyla kullanılabilir. Bunlara, Code üyesine ve yöntem adına başvuruda bulunarak erişirsiniz. Aşağıdaki örnek, StandardCost alanındaki değeri Dolar değerine dönüştüren ToUSD yöntemini çağırır:

=Code.ToUSD(Fields!StandardCost.Value)

=Code.ToUSD(Fields!StandardCost.Value)

Özel kodunuzda yerleşik koleksiyonlara başvuruda bulunmak için, yerleşik Report nesnesi için bir başvuru ekleyin:

=Report.Parameters!Param1.Value

=Report.Parameters!Param1.Value

Aşağıdaki örneklerde, bazı özel sabit ve değişkenlerin nasıl tanımlanacağı gösterilmektedir.

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

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 İfade iletişim kutusundaki Sabitler kategorisinde görünmese de (yalnızca yerleşik sabitleri görüntüler), aşağıdaki örneklerde gösterildiği gibi, bunlara herhangi bir ifadeden başvuru ekleyebilirsiniz. İfadelerde, bir özel sabite Variant gibi davranılır.

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

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

Aşağıdaki örnek kodu başvurusu ve işlev kodu uygulaması içeren FixSpelling, hangi metnin yerine "Bicycle""Bike" metnin tüm tekrarlarını için de SubCategoryalan.

=Code.FixSpelling(Fields!SubCategory.Value)

Aşağıdaki kod, bir rapor tanımı kod bloğu içinde yerleşik uygulaması gösterir FixSpellingyöntemi. Bu örnek tam başvuru kullanılacağı gösterilmiştir Microsoft  .NET Framework  StringBuildersınıf

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
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ğerler ve Kullanıcı Başvuruları (Rapor Oluşturucusu 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

Başvuruda parametreleri kodu dahil

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. Koleksiyon içinde adım adım ilerlemek için Visual Basic For Each yapısını kullanamazsınız. 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 tabloda, yerleşik Parameters koleksiyonuna özel kod içinden başvurma örnekleri bulunmaktadır:

Açıklama

İfadedeki başvuru

Özel Kod tanımı

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

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

=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 multivalue parametresi ise, dönüş dizesi 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
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

Kodu özel derlemeler başvuruda dahil

Özel derlemeler bir raporda kullanmak için size gerekir ilk derleme oluşturmak, rapor Tasarımcısı için kullanılabilir hale, rapor derleme başvurusu ekleyin ve sonra bu derlemede yer alan yöntemlere başvurmak için rapora bir ifade kullanın. Raporun rapor sunucusu dağıtıldığında, özel derleme rapor sunucusunda dağıtmanız gerekir.

Özel bir derleme oluşturma ve kullanılabilir yapma hakkında bilgi Reporting Servicesbakın Reports ile özel Assemblies kullanma.

Özel kod deyimde başvurmak için derleme içindeki bir sınıf üyesi çağırmalısınız. Bunu nasıl yöntemi statik veya örneği tabanlı bağlıdır. Statik yöntemler içinde özel bir derleme genel rapor içinde kullanılabilir. Ad, sınıf ve yöntem adı belirterek ifadeleri statik yöntemleri erişebilirsiniz. Aşağıdaki örnek yöntemini çağırır ToGBP, hangi dönüştürür değeri StandardCost İngiliz Sterlini ile dolar değer:

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

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

Yöntemleri örneği tabanlı bir genel olarak tanımlanan kullanılabilen Codeüyesi. Bunlar başvurarak erişim Codeörneği ve yöntem adından üye. Aşağıdaki örnek örnek yöntemini çağıran ToEUR, hangi değeri dönüştürür StandardCost dolar Euro dan:

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

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

[!NOT]

Rapor Tasarımcısı, özel bir derleme bir kez yüklenir ve siz kapatıncaya kadar kaldırılmış değil Visual Studio. Bir rapor önizleme, raporda kullanılan özel bir derleme değişiklik ve raporu yeniden önizleme, değişiklikleri ikinci önizlemede görünmez. Derleme, yakın yeniden ve yeniden Visual Studiove sonra raporu önizlemek.

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

Geçen yerleşik koleksiyonlar halinde özel Assemblies

Yerleşik Koleksiyonlar gibi geçmek isterseniz Globalsya Parameterstoplama, işleme, özel bir derleme içine sizin eklemeniz gerekir bir derleme başvurusu kod projenizde yerleşik Koleksiyonlar tanımlar ve doğru ad erişim derleme için. İster bir rapor sunucusu (rapor sunucusu) çalıştırılan bir rapor ya da yerel olarak çalıştırılan bir rapor için özel derleme gelişmekte olan bağlı bir.net uygulama (yerel rapor), başvuru yapmanız derleme farklıdır. Aşağıda ayrıntıları için bkz.

  • Namespace: Microsoft.ReportingServices.ReportProcessing.ReportObjectModel

  • Derleme (yerel rapor): Microsoft.ReportingServices.ProcessingObjectModel.dll

  • Derleme (rapor sunucusu): Microsoft.ReportViewer.ProcessingObjectModel.dll

Beri içeriği Fieldsve ReportItemskoleksiyonları çalışma zamanında dinamik olarak değiştirebilirsiniz, sen onları çağrılarının içine özel derleme (örneğin, bir üye değişkeni) arasında götürmemelidir. Aynı öneri genellikle tüm yerleşik koleksiyonlar için geçerlidir.

Ayrıca bkz.

Görevler

Bir raporu (ssrs) kodu Ekle

Rapor (ssrs) için bir derleme başvurusu ekle

Başvuru

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

Kavramlar

Geliştirici Kılavuzu (Reporting Services)

Diğer Kaynaklar

Reports ile özel Assemblies kullanma

Tutorials (SSRS)

Rapor Örnekleri (Rapor Oluşturucusu 3.0 ve SSRS)