Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR: Power BI Desktop Rapor Oluşturucusu
Power BI
Rapora eklenmiş özel kod ekleyebilirsiniz. Tek bir raporda birden çok kez kullanılan özel sabitler, karmaşık işlevler veya işlevler için eklenmiş kod kullanın. Özel kod yeni özel sabitler, değişkenler, işlevler veya alt yordamlar içerebilir. Parameters koleksiyonu gibi yerleşik koleksiyonlara salt okunur başvurular ekleyebilirsiniz. Ancak rapor verisi değerleri kümelerini özel işlevlere geçiremezsiniz; özel olarak, özel toplamalar desteklenmez.
Not
Power BI'daki sayfalandırılmış raporlarda özel derlemeler desteklenmez. Mantığı özel derlemeden eklenmiş koda dönüştürmeyi göz önünde bulundurun. Dikkate alınacak alternatiflerin örnekleri için derleme alternatiflerini denetleyin.
Önemli
Çalışma zamanında bir kez değerlendirilen ve rapor işleme boyunca aynı değeri korumak istediğiniz zamana duyarlı hesaplamalar için bir rapor değişkeni mi yoksa grup değişkeni mi kullanacağınızı göz önünde bulundurun. Daha fazla bilgi için bkz. Rapor ve Grup Değişkenleri Koleksiyon Başvuruları (Power BI Rapor Oluşturucusu).
Yaygın Olarak Kullanılan İşlevlere Başvurular Ekle
Rapor Oluşturucusu yerleşik ortak işlevlerin kategorilere ayrılmış listesini görüntülemek için İfade iletişim kutusunu kullanın. Ortak İşlevler'i genişletip bir kategori seçtiğinizde, Öğe bölmesi bir ifadeye eklediğiniz işlevlerin listesini görüntüler. Yaygın işlevler .NET Framework Math ve ad alanları ile Convert Visual Basic çalışma zamanı kitaplığı işlevlerindeki sınıfları içerir. Kolaylık sağlamak için İfade iletişim kutusunda en yaygın kullanılan işlevleri görüntüleyebilirsiniz; burada bunlar kategoriye göre listelenir: Metin, Tarih ve Saat, Matematik, Denetleme, Program Akışı, Toplama, Finansal, Dönüştürme ve Çeşitli. Daha az yaygın kullanılan işlevler listede görünmez, ancak yine de bir ifadede kullanılabilir.
Yerleşik bir işlev kullanmak için, Öğe bölmesinde işlev adına çift tıklayın. Açıklama bölmesinde işlevin açıklaması, Örnek bölmesinde ise işlev çağrısının bir örneği görüntülenir. Kod bölmesinde, işlev adını ve ardından bir sol ayraç yazdığınızda (IntelliSense yardımı, işlev çağrısı için geçerli her söz dizimini görüntüler. Örneğin, bir tablodaki adlı Quantity
alanın en büyük değerini hesaplamak için Kod bölmesine basit ifadeyi =Max(
ekleyin ve ardından akıllı etiketleri kullanarak işlev çağrısı için tüm olası geçerli söz dizimlerini görüntüleyin. Bu örneği tamamlamak için yazın =Max(Fields!Quantity.Value)
.
Her işlev hakkında daha fazla bilgi için bkz Math. MSDN'de , Convertve Visual Basic Çalışma Zamanı Kitaplığı Üyeleri .
Daha Az Kullanılan İşlevlere Başvurular Ekleme
Daha az kullanılan diğer CLR ad alanlarına başvuru eklemek için, tam başvuru kullanmanız gerekir; örneğin, StringBuilder. IntelliSense, daha az kullanılan bu işlevler için İfade iletişim kutusunun kod bölmesinde desteklenmez.
Daha fazla bilgi için bkz . MSDN'de Visual Basic Çalışma Zamanı Kitaplığı Üyeleri .
Ekli Kod Ekle
Rapora eklenmiş kod eklemek için Rapor Özellikleri iletişim kutusunun Kod sekmesini kullanın. Oluşturduğunuz kod bloğu birden çok yöntem içerebilir. Ekli koddaki yöntemler Microsoft Visual Basic'te yazılmalıdır ve örnek tabanlı olmalıdır. Rapor işlemcisi, System.Convert ve System.Math ad alanları için başvuruları otomatik olarak ekler.
Ekli koddaki yöntemler, genel olarak tanımlanmış bir Code üyesi aracılığıyla kullanılabilir. Kod üyesine ve yöntem adına başvurarak bunlara erişebilirsiniz. Aşağıdaki örnekte, alandaki değeri dolar değerine StandardCost
dönüştüren ToUSD yöntemi çağrılır:
=Code.ToUSD(Fields!StandardCost.Value)
Özel kodunuzda yerleşik koleksiyonlara başvurmak için, yerleşik Rapor nesnesine bir başvuru ekleyin:
=Report.Parameters!Param1.Value
Aşağıdaki örneklerde bazı özel sabitlerin 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
ö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 herhangi bir ifadeden bunlara başvurular ekleyebilirsiniz. Bir ifadede özel sabit Değişken olarak değerlendirilir.
=Code.MyNote
=Code.NCopies
=Code.MyVersion
=Code.MyDoubleVersion
Aşağıdaki örnekte hem kod başvurusu hem de FixSpelling işlevinin kod uygulaması yer alır. Bu uygulama, alandaki "Bike" SubCategory
metninin tüm oluşumlarının yerine metin "Bicycle"
ekler.
=Code.FixSpelling(Fields!SubCategory.Value)
Aşağıdaki kod, bir rapor tanımı kod bloğuna eklendiğinde FixSpelling yönteminin bir uygulamasını gösterir. Bu örnekte, Microsoft .NET Framework StringBuilder sınıfına tam başvurunun nasıl kullanılacağı gösterilmektedir.
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 nesne koleksiyonları hakkında daha fazla bilgi için bkz. Yerleşik Globals and Users References (Power BI Rapor Oluşturucusu).
Koddan Parametrelere BaşvuruLar Ekleme
Rapor tanımının Kod bloğundaki özel kod aracılığıyla genel parametreler koleksiyonuna başvurabilirsiniz. Parametre koleksiyonu salt okunurdur ve genel yineleyicisi yoktur. Koleksiyonda adım adım ilerleyebilmek için Visual Basic For Each yapısını kullanamazsınız. Kodunuzda başvurmadan önce rapor tanımında tanımlanan parametrenin adını bilmeniz gerekir. Ancak, çoklu değer parametresinin tüm değerlerini yineleyebilirsiniz.
Aşağıdaki tabloda, özel koddan yerleşik koleksiyona Parameters
başvurma örnekleri yer alır:
Genel parametre koleksiyonunun tamamını özel koda geçirme.
Bu işlev, MyParameter adlı belirli bir rapor parametresinin değerini döndürür.
İfadede Başvuru =Code.DisplayAParameterValue(Parameters)
Özel Kod tanımı
Public Function DisplayAParameterValue(ByVal parameters as Parameters) as Object
Return parameters("MyParameter").Value
End Function
Özel koda tek bir parametre geçirme.
İfadede Başvuru =Code.ShowParametersValues(Parameters!DayOfTheWeek)
Bu örnek geçirilen parametrenin değerini döndürür. Parametre birden çok değerli bir parametreyse, dönüş dizesi tüm değerlerin birleştirilmiş halidir.
Özel Kod tanımı
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