Κοινή χρήση μέσω


Προσαρμοσμένος κώδικας σε παραστάσεις σε μια σελιδοποιημένη αναφορά στο Εργαλείο δόμησης αναφορών του Power BI

ΙΣΧΎΕΙ ΓΙΑ: Power BI Report Builder Power BI Desktop

Μπορείτε να προσθέσετε προσαρμοσμένο κώδικα ενσωματωμένο σε μια αναφορά. Χρησιμοποιήστε ενσωματωμένο κώδικα για προσαρμοσμένες σταθερές, σύνθετες συναρτήσεις ή συναρτήσεις που χρησιμοποιούνται πολλές φορές σε μία αναφορά. Ο προσαρμοσμένος κώδικας μπορεί να περιλαμβάνει νέες προσαρμοσμένες σταθερές, μεταβλητές, συναρτήσεις ή υπορουτίνες. Μπορείτε να συμπεριλάβετε αναφορές μόνο για ανάγνωση σε ενσωματωμένες συλλογές, όπως η συλλογή Παράμετροι. Ωστόσο, δεν μπορείτε να διαβιβάσετε σύνολα τιμών δεδομένων αναφοράς σε προσαρμοσμένες συναρτήσεις. συγκεκριμένα, δεν υποστηρίζονται προσαρμοσμένες συγκεντρωτικές τιμές.

Σημείωμα

Οι προσαρμοσμένες συγκροτήσεις δεν υποστηρίζονται σε σελιδοποιημένες αναφορές στο Power BI. Εξετάστε το ενδεχόμενο μετατροπής λογικής από προσαρμοσμένη συγκρότηση σε ενσωματωμένο κώδικα. Για παραδείγματα εναλλακτικών για να εξετάσετε, ελέγξτε εναλλακτικές συγκρότησης.

Σημαντικό

Για χρονικά ευαίσθητους υπολογισμούς που αξιολογούνται μία φορά στο χρόνο εκτέλεσης και θέλετε να παραμείνετε η ίδια τιμή κατά την επεξεργασία της αναφοράς, εξετάστε εάν θα χρησιμοποιήσετε μια μεταβλητή αναφοράς ή μια μεταβλητή ομάδας. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Αναφορές συλλογών μεταβλητών αναφοράς και ομάδας (Power BI Report Builder).

Συμπερίληψη αναφορών σε συναρτήσεις που χρησιμοποιούνται συχνά

Χρησιμοποιήστε το παράθυρο διαλόγου Παράσταση για να προβάλετε μια λίστα με κατηγοριοποιημένες κοινές συναρτήσεις ενσωματωμένες στο Εργαλείο δόμησης αναφορών. Όταν αναπτύσσετε το Common Functions και επιλέγετε μια κατηγορία, το τμήμα παραθύρου Στοιχείο εμφανίζει τη λίστα συναρτήσεων που συμπεριλαμβάνετε σε μια παράσταση. Οι κοινές συναρτήσεις περιλαμβάνουν από το .NET Framework Math και Convert χώρους ονομάτων και συναρτήσεις βιβλιοθήκης χρόνου εκτέλεσης Visual Basic. Για διευκόλυνση, μπορείτε να δείτε τις συναρτήσεις που χρησιμοποιούνται συχνότερα στο παράθυρο διαλόγου Παράσταση , όπου αναφέρονται κατά κατηγορία: Κείμενο, Ημερομηνία και ώρα, Μαθηματικά, Επιθεώρηση, Ροή προγράμματος, Συγκεντρωτικά αποτελέσματα, Οικονομικά, Μετατροπή και Διάφορες. Οι συναρτήσεις που χρησιμοποιούνται λιγότερο συχνά δεν εμφανίζονται στη λίστα, αλλά εξακολουθούν να μπορούν να χρησιμοποιηθούν σε μια παράσταση.

Για να χρησιμοποιήσετε μια ενσωματωμένη συνάρτηση, κάντε διπλό κλικ στο όνομα της συνάρτησης στο τμήμα παραθύρου Στοιχείο. Εμφανίζεται μια περιγραφή της συνάρτησης στο τμήμα παραθύρου Περιγραφή και στο τμήμα παραθύρου Παράδειγμα εμφανίζεται ένα παράδειγμα της κλήσης συνάρτησης. Στο τμήμα παραθύρου κώδικα, όταν πληκτρολογείτε το όνομα της συνάρτησης ακολουθούμενο από μια αριστερή παρένθεση (, το IntelliSense σάς βοηθά να εμφανίσετε κάθε έγκυρη σύνταξη για την κλήση συνάρτησης. Για παράδειγμα, για να υπολογίσετε τη μέγιστη τιμή για ένα πεδίο με ονομασία Quantity σε έναν πίνακα, προσθέστε την απλή παράσταση =Max( στο τμήμα παραθύρου Κώδικας και, στη συνέχεια, χρησιμοποιήστε τις έξυπνες ετικέτες για να προβάλετε όλες τις πιθανές έγκυρες σύνταξη για την κλήση συνάρτησης. Για να ολοκληρώσετε αυτό το παράδειγμα, πληκτρολογήστε =Max(Fields!Quantity.Value).

Για περισσότερες πληροφορίες σχετικά με κάθε συνάρτηση, ανατρέξτε Mathστα θέματα , Convertκαι Μέλη βιβλιοθήκης χρόνου εκτέλεσης Visual Basic στο MSDN.

Συμπερίληψη αναφορών σε συναρτήσεις που χρησιμοποιούνται λιγότερο συχνά

Για να συμπεριλάβετε μια αναφορά σε άλλους χώρους ονομάτων CLR που χρησιμοποιούνται λιγότερο συχνά, πρέπει να χρησιμοποιήσετε μια πλήρως προσδιορισμένη αναφορά, για παράδειγμα, StringBuilder. Το IntelliSense δεν υποστηρίζεται στο τμήμα παραθύρου κώδικα του παραθύρου διαλόγου Παράσταση για αυτές τις συναρτήσεις που χρησιμοποιούνται λιγότερο συχνά.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Μέλη βιβλιοθήκης χρόνου εκτέλεσης Visual Basic στο MSDN.

Συμπερίληψη ενσωματωμένου κώδικα

Για να προσθέσετε ενσωματωμένο κώδικα σε μια αναφορά, χρησιμοποιήστε την καρτέλα Κώδικας του παραθύρου διαλόγου Ιδιότητες αναφοράς. Το μπλοκ κώδικα που δημιουργείτε μπορεί να περιέχει πολλές μεθόδους. Οι μέθοδοι στον ενσωματωμένο κώδικα πρέπει να συντάσσονται στη Microsoft Visual Basic και πρέπει να βασίζονται σε παρουσίες. Ο επεξεργαστής αναφορών προσθέτει αυτόματα αναφορές για τους χώρους ονομάτων System.Convert και System.Math.

Οι μέθοδοι στον ενσωματωμένο κώδικα είναι διαθέσιμες μέσω ενός καθολικά καθορισμένου μέλους του Κώδικα . Για να αποκτήσετε πρόσβαση σε αυτές, γίνεται αναφορά στο μέλος κώδικα και στο όνομα της μεθόδου . Το παρακάτω παράδειγμα καλεί τη μέθοδο ToUSD, η οποία μετατρέπει την τιμή του StandardCost πεδίου σε τιμή δολαρίων:

=Code.ToUSD(Fields!StandardCost.Value)

Για αναφορά σε ενσωματωμένες συλλογές στον προσαρμοσμένο κείμενό σας, συμπεριλάβετε μια αναφορά στο ενσωματωμένο αντικείμενο αναφοράς :

=Report.Parameters!Param1.Value

Τα παρακάτω παραδείγματα δείχνουν πώς μπορείτε να ορίσετε ορισμένες προσαρμοσμένες σταθερές και μεταβλητές.

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

Παρόλο που οι προσαρμοσμένες σταθερές δεν εμφανίζονται στην κατηγορία Σταθερές στο παράθυρο διαλόγου Παράσταση (το οποίο εμφανίζει μόνο ενσωματωμένες σταθερές), μπορείτε να προσθέσετε αναφορές σε αυτές από οποιαδήποτε παράσταση, όπως φαίνεται στα παρακάτω παραδείγματα. Σε μια παράσταση, μια προσαρμοσμένη σταθερά αντιμετωπίζεται ως μεταβλητή.

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

Το παρακάτω παράδειγμα περιλαμβάνει τόσο την αναφορά κώδικα όσο και την υλοποίηση κώδικα της συνάρτησης FixSpelling, η οποία αντικαθιστά το κείμενο "Bicycle" για όλες τις εμφανίσεις του κειμένου "Bike" στο SubCategory πεδίο.

=Code.FixSpelling(Fields!SubCategory.Value)

Ο ακόλουθος κώδικας, όταν ενσωματώνεται σε ένα μπλοκ κώδικα ορισμού αναφοράς, εμφανίζει μια υλοποίηση της μεθόδου FixSpelling . Αυτό το παράδειγμα σάς δείχνει πώς μπορείτε να χρησιμοποιήσετε μια πλήρως προσδιορισμένη αναφορά στην κλάση Microsoft .NET Framework StringBuilder .

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

Για περισσότερες πληροφορίες σχετικά με τις ενσωματωμένες συλλογές αντικειμένων, ανατρέξτε στο θέμα Ενσωματωμένες καθολικές αναφορές και αναφορές χρηστών (Εργαλείο δόμησης αναφορών του Power BI).

Συμπερίληψη αναφορών σε παραμέτρους από τον κώδικα

Μπορείτε να αναφερθείτε στη συλλογή καθολικών παραμέτρων μέσω προσαρμοσμένου κώδικα σε ένα μπλοκ κώδικα του ορισμού αναφοράς. Η συλλογή παραμέτρων είναι μόνο για ανάγνωση και δεν έχει δημόσιους επαναλήπτες. Δεν μπορείτε να χρησιμοποιήσετε μια Visual Basic για κάθε κατασκευή για να περιηγηθείτε στη συλλογή. Πρέπει να γνωρίζετε το όνομα της παραμέτρου που ορίζεται στον ορισμό αναφοράς, για να μπορείτε να την αναφέρετε στον κώδικά σας. Ωστόσο, μπορείτε να επαναλαμβάνετε όλες τις τιμές μιας παραμέτρου πολλαπλών τιμών.

Ο παρακάτω πίνακας περιλαμβάνει παραδείγματα αναφοράς της ενσωματωμένης συλλογής Parameters από προσαρμοσμένο κώδικα:

Διαβίβαση μιας ολόκληρης συλλογής καθολικών παραμέτρων σε προσαρμοσμένο κώδικα.

Αυτή η συνάρτηση επιστρέφει την τιμή μιας συγκεκριμένης παραμέτρου αναφοράς MyParameter.

Αναφορά στην παράσταση =Code.DisplayAParameterValue(Parameters)

Ορισμός προσαρμοσμένου κώδικα

Public Function DisplayAParameterValue(ByVal parameters as Parameters) as Object
Return parameters("MyParameter").Value
End Function

Διαβίβαση μεμονωμένης παραμέτρου σε προσαρμοσμένο κώδικα.

Αναφορά στην παράσταση =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

Επόμενα βήματα