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

ΙΣΕΙ ΓΙΑ: Power BI Εργαλείο δόμησης αναφορών Power BI Desktop

Οι παραστάσεις χρησιμοποιούνται συχνά στο Power BI Εργαλείο δόμησης αναφορών σελιδοποιημένες αναφορές για τον έλεγχο του περιεχομένου και την εμφάνιση της αναφοράς. Οι παραστάσεις συντάσσονται στη Microsoft Visual Basic και μπορούν να χρησιμοποιούν ενσωματωμένες συναρτήσεις, προσαρμοσμένους κώδικες, μεταβλητές αναφοράς και ομάδας και μεταβλητές που ορίζονται από τον χρήστη. Οι παραστάσεις ξεκινούν με το σύμβολο ίσον (=).

Αυτό το άρθρο παρέχει παραδείγματα παραστάσεων που μπορούν να χρησιμοποιηθούν για συνήθεις εργασίες σε μια αναφορά.

  • Συναρτήσεις Visual Basic: Παραδείγματα για τις συναρτήσεις ημερομηνίας, συμβολοσειράς, μετατροπής και υπό όρους της Visual Basic.

  • Συναρτήσεις αναφοράς: Παραδείγματα για συγκεντρωτικές τιμές και άλλες ενσωματωμένες συναρτήσεις αναφοράς.

  • Εμφάνιση δεδομένων αναφοράς: Παραδείγματα για την αλλαγή της εμφάνισης μιας αναφοράς.

  • Ιδιότητες: Παραδείγματα για τον ορισμό ιδιοτήτων στοιχείων αναφοράς για τον έλεγχο της μορφής ή της ορατότητας.

  • Παράμετροι: Παραδείγματα για τη χρήση παραμέτρων σε μια παράσταση.

  • Προσαρμοσμένος κώδικας: Παραδείγματα ενσωματωμένου προσαρμοσμένου κώδικα.

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

Συναρτήσεις

Πολλές παραστάσεις σε μια αναφορά περιέχουν συναρτήσεις. Μπορείτε να μορφοποιήσετε δεδομένα, να εφαρμόσετε λογική και να αποκτήσετε πρόσβαση σε μετα-δεδομένα αναφοράς χρησιμοποιώντας αυτές τις συναρτήσεις. Μπορείτε να συντάξετε παραστάσεις που χρησιμοποιούν συναρτήσεις από τη βιβλιοθήκη χρόνου εκτέλεσης της Microsoft Visual Basic και από xref:System.Convert τους χώρους ονομάτων και xref:System.Math . Μπορείτε να προσθέσετε αναφορές σε συναρτήσεις σε προσαρμοσμένο κώδικα. Μπορείτε επίσης να χρησιμοποιήσετε κλάσεις από το Microsoft .NET Framework, συμπεριλαμβανομένων των xref:System.Text.RegularExpressions.

Συναρτήσεις Visual Basic

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

Το .NET Framework παρέχει πολλές επιλογές προσαρμοσμένης μορφής, για παράδειγμα, για συγκεκριμένες μορφές ημερομηνίας. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Τύποι μορφοποίησης.

Μαθηματικές συναρτήσεις

  • Η συνάρτηση Round είναι χρήσιμη για την στρογγυλοποίηση αριθμών στον πλησιέστερο ακέραιο. Η ακόλουθη παράσταση στρογγυλοποιεί το 1,3 στο 1:

    =Round(1.3)  
    

    Μπορείτε επίσης να συντάξετε μια παράσταση για να στρογγυλοποιήσετε μια τιμή σε ένα πολλαπλάσιο που καθορίζετε, όμοια με τη συνάρτηση MRound στο Excel. Πολλαπλασιάστε την τιμή με έναν συντελεστή που δημιουργεί ακέραιο, στρογγυλοποιήστε τον αριθμό και, στη συνέχεια, διαιρέστε με τον ίδιο συντελεστή. Για παράδειγμα, για να στρογγυλοποιήσετε τον αριθμό 1,3 στο πλησιέστερο πολλαπλάσιο του 0,2, που είναι 1,4, χρησιμοποιήστε την ακόλουθη παράσταση:

    =Round(1.3*5)/5  
    

Συναρτήσεις ημερομηνίας

  • Η συνάρτηση Today παρέχει την τρέχουσα ημερομηνία. Αυτή η παράσταση μπορεί να χρησιμοποιηθεί σε ένα πλαίσιο κειμένου για την εμφάνιση της ημερομηνίας στην αναφορά ή σε μια παράμετρο για το φιλτράρισμα δεδομένων με βάση την τρέχουσα ημερομηνία.

    =Today()  
    
  • Χρησιμοποιήστε τη συνάρτηση DateInterval για να αντλήσετε ένα συγκεκριμένο τμήμα μιας ημερομηνίας. Ακολουθούν ορισμένες έγκυρες παράμετροι του DateInterval :

    • DateInterval.Second
    • DateInterval.Minute
    • DateInterval.Hour
    • DateInterval.Weekday
    • DateInterval.Day
    • DateInterval.DayOfYear
    • DateInterval.WeekOfYear
    • DateInterval.Month
    • DateInterval.Quarter
    • DateInterval.Year

    Για παράδειγμα, αυτή η παράσταση θα εμφανίσει τον αριθμό της εβδομάδας στο τρέχον έτος για τη σημερινή ημερομηνία:

    =DatePart(DateInterval.WeekOfYear, today()) 
    
  • Η συνάρτηση DateAdd είναι χρήσιμη για την παροχή μιας σειράς ημερομηνιών που βασίζονται σε μία μόνο παράμετρο. Η ακόλουθη παράσταση παρέχει μια ημερομηνία που είναι έξι μήνες μετά την ημερομηνία από μια παράμετρο που ονομάζεται StartDate.

    =DateAdd(DateInterval.Month, 6, Parameters!StartDate.Value)  
    
  • Η συνάρτηση Year εμφανίζει το έτος για μια συγκεκριμένη ημερομηνία. Μπορείτε να ομαδοποιήσετε ημερομηνίες ή να εμφανίσετε το έτος ως ετικέτα για ένα σύνολο ημερομηνιών. Αυτή η παράσταση παρέχει το έτος για μια δεδομένη ομάδα ημερομηνιών παραγγελίας πωλήσεων. Η συνάρτηση Month και άλλες συναρτήσεις μπορούν επίσης να χρησιμοποιηθούν για τον χειρισμό ημερομηνιών. Για περισσότερες πληροφορίες, ανατρέξτε στην τεκμηρίωση της Visual Basic.

    =Year(Fields!OrderDate.Value)  
    
  • Μπορείτε να συνδυάσετε συναρτήσεις σε μια παράσταση για να προσαρμόσετε τη μορφή. Η ακόλουθη παράσταση αλλάζει τη μορφή μιας ημερομηνίας στη μορφή μήνας-ημέρα-έτος σε αριθμός μήνας-εβδομάδας-εβδομάδας. Για παράδειγμα, αλλάξτε το "18/12/2022" σε "Δεκέμβριος 3":

    =Format(Fields!MyDate.Value, "MMMM") & " Week " &   
    (Int(DateDiff("d", DateSerial(Year(Fields!MyDate.Value),   
    Month(Fields!MyDate.Value),1), Fields!FullDateAlternateKey.Value)/7)+1).ToString  
    

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

  • Η ακόλουθη παράσταση μορφοποιεί την τιμή SellStartDate ως ΜΜΜ-yy. Το πεδίο SellStartDate έχει έναν τύπο δεδομένων ημερομηνίας/ώρας.

    =FORMAT(Fields!SellStartDate.Value, "MMM-yy")  
    
  • Η ακόλουθη παράσταση μορφοποιεί την τιμή SellStartDate ως ηη/ΜΜ/εεεε. Το πεδίο SellStartDate έχει έναν τύπο δεδομένων ημερομηνίας/ώρας.

    =FORMAT(Fields!SellStartDate.Value, "dd/MM/yyyy")  
    
  • Η συνάρτηση CDate μετατρέπει την τιμή σε ημερομηνία. Η συνάρτηση Now επιστρέφει μια τιμή ημερομηνίας που περιέχει την τρέχουσα ημερομηνία και ώρα σύμφωνα με το σύστημά σας. Η συνάρτηση DateDiff επιστρέφει μια τιμή Long που καθορίζει τον αριθμό των χρονικών διαστημάτων μεταξύ δύο τιμών ημερομηνίας .

    Το παρακάτω παράδειγμα εμφανίζει την ημερομηνία έναρξης του τρέχοντος έτους

    =DateAdd(DateInterval.Year,DateDiff(DateInterval.Year,CDate("01/01/1900"),Now()),CDate("01/01/1900"))  
    
  • Το παρακάτω παράδειγμα εμφανίζει την ημερομηνία έναρξης για τον προηγούμενο μήνα με βάση τον τρέχοντα μήνα.

    =DateAdd(DateInterval.Month,DateDiff(DateInterval.Month,CDate("01/01/1900"),Now())-1,CDate("01/01/1900"))  
    
  • Η ακόλουθη παράσταση δημιουργεί τα ενδιάμεσα έτη μεταξύ SellStartDate και LastReceiptDate. Αυτά τα πεδία βρίσκονται σε δύο διαφορετικά σύνολα δεδομένων, τα DataSet1 και DataSet2.

    =DATEDIFF("yyyy", First(Fields!SellStartDate.Value, "DataSet1"), First(Fields!LastReceiptDate.Value, "DataSet2"))  
    
  • Η συνάρτηση DatePart επιστρέφει μια τιμή Integer που περιέχει το καθορισμένο στοιχείο μιας δεδομένης τιμής ημερομηνίας . Η ακόλουθη παράσταση επιστρέφει το έτος για την πρώτη τιμή του SellStartDate στο DataSet1. Η εμβέλεια του συνόλου δεδομένων καθορίζεται επειδή υπάρχουν πολλά σύνολα δεδομένων στην αναφορά.

    =Datepart("yyyy", First(Fields!SellStartDate.Value, "DataSet1"))  
    
    
  • Η συνάρτηση DateSerial επιστρέφει μια τιμή ημερομηνίας που αντιπροσωπεύει ένα συγκεκριμένο έτος, μήνα και ημέρα, ενώ οι πληροφορίες ώρας έχουν οριστεί σε μεσάνυχτα. Το παρακάτω παράδειγμα εμφανίζει την ημερομηνία λήξης για τον προηγούμενο μήνα, με βάση τον τρέχοντα μήνα.

    =DateSerial(Year(Now()), Month(Now()), "1").AddDays(-1)  
    
  • Οι ακόλουθες παραστάσεις εμφανίζουν διάφορες ημερομηνίες με βάση μια τιμή παραμέτρου ημερομηνίας που επιλέχθηκε από τον χρήστη.

Παράδειγμα περιγραφής Παράδειγμα
Χθες =DateSerial(Year(Parameters!TodaysDate.Value),Month(Parameters!TodaysDate.Value),Day(Parameters!TodaysDate.Value)-1)
Δύο ημέρες πριν =DateSerial(Year(Parameters!TodaysDate.Value),Month(Parameters!TodaysDate.Value),Day(Parameters!TodaysDate.Value)-2)
Πριν από έναν μήνα =DateSerial(Year(Parameters!TodaysDate.Value),Month(Parameters!TodaysDate.Value)-1,Day(Parameters!TodaysDate.Value))
Δύο μήνες πριν =DateSerial(Year(Parameters!TodaysDate.Value),Month(Parameters!TodaysDate.Value)-2,Day(Parameters!TodaysDate.Value))
Ένα έτος πριν =DateSerial(Year(Parameters!TodaysDate.Value)-1,Month(Parameters!TodaysDate.Value),Day(Parameters!TodaysDate.Value))
Δύο χρόνια πριν =DateSerial(Year(Parameters!TodaysDate.Value)-2,Month(Parameters!TodaysDate.Value),Day(Parameters!TodaysDate.Value))

Συναρτήσεις συμβολοσειράς

  • Συνδυάστε περισσότερα από ένα πεδία, χρησιμοποιώντας τελεστές συνένωσης και σταθερές της Visual Basic. Η ακόλουθη παράσταση επιστρέφει δύο πεδία, το καθένα σε ξεχωριστή γραμμή στο ίδιο πλαίσιο κειμένου:

    =Fields!FirstName.Value & vbCrLf & Fields!LastName.Value   
    
  • Μορφοποιήστε ημερομηνίες και αριθμούς σε μια συμβολοσειρά με τη συνάρτηση Format . Η ακόλουθη παράσταση εμφανίζει τιμές των παραμέτρων StartDate και EndDate σε μορφή μεγάλης ημερομηνίας:

    =Format(Parameters!StartDate.Value, "D") & " through " &  Format(Parameters!EndDate.Value, "D")    
    

    Εάν το πλαίσιο κειμένου περιέχει μόνο μια ημερομηνία ή έναν αριθμό, θα πρέπει να χρησιμοποιήσετε την ιδιότητα Format του πλαισίου κειμένου για να εφαρμόσετε μορφοποίηση αντί για τη συνάρτηση Format μέσα στο πλαίσιο κειμένου.

  • Οι συναρτήσεις Right, Len και InStr είναι χρήσιμες για την επιστροφή μιας δευτερεύουσας συμβολοσειράς, για παράδειγμα, την περικοπή του ονόματος χρήστη ΤΟΜΈΑ\μόνο στο όνομα χρήστη. Η ακόλουθη παράσταση επιστρέφει το τμήμα της συμβολοσειράς στα δεξιά ενός χαρακτήρα ανάστροφης κάθετος (\) από μια παράμετρο που ονομάζεται User:

    =Right(Parameters!User.Value, Len(Parameters!User.Value) - InStr(Parameters!User.Value, "\"))  
    

    Η ακόλουθη παράσταση έχει ως αποτέλεσμα την ίδια τιμή με την προηγούμενη, χρησιμοποιώντας μέλη της κλάσης .NET Framework xref:System.String αντί για συναρτήσεις της Visual Basic:

    =Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\")+1, Parameters!User.Value.Length-Parameters!User.Value.IndexOf("\")-1)  
    
  • Εμφανίστε τις επιλεγμένες τιμές από μια παράμετρο πολλαπλών τιμών. Το παρακάτω παράδειγμα χρησιμοποιεί τη συνάρτηση Join για να συνενώσει τις επιλεγμένες τιμές της παραμέτρου MySelection σε μία συμβολοσειρά που μπορεί να οριστεί ως παράσταση για την τιμή ενός πλαισίου κειμένου σε ένα στοιχείο αναφοράς:

    = Join(Parameters!MySelection.Value)  
    

    Το παρακάτω παράδειγμα κάνει το ίδιο με το προηγούμενο παράδειγμα και εμφανίζει μια συμβολοσειρά κειμένου πριν από τη λίστα των επιλεγμένων τιμών.

    ="Report for " & JOIN(Parameters!MySelection.Value, " & ")  
    
    
  • Οι συναρτήσεις Regex από το .NET Framework xref:System.Text.RegularExpressions είναι χρήσιμες για την αλλαγή της μορφής των υπαρχουσών συμβολοσειρών, για παράδειγμα, για τη μορφοποίηση ενός αριθμού τηλεφώνου. Η ακόλουθη παράσταση χρησιμοποιεί τη συνάρτηση Replace για να αλλάξει τη μορφή ενός δεκαψήφιου αριθμού τηλεφώνου σε ένα πεδίο από "nnn-nnn-nnnn" σε "(nnn) nnn-nnnn":

    =System.Text.RegularExpressions.Regex.Replace(Fields!Phone.Value, "(\d{3})[ -.]*(\d{3})[ -.]*(\d{4})", "($1) $2-$3")  
    

    Σημείωμα

    Επαληθεύστε ότι η τιμή για τα Πεδία!Τηλέφωνο. Η συνάρτηση Value δεν έχει επιπλέον διαστήματα και είναι τύπου xref:System.String.

Αναζήτηση

  • Καθορίζοντας ένα πεδίο κλειδιού, μπορείτε να χρησιμοποιήσετε τη συνάρτηση Lookup για να ανακτήσετε μια τιμή από ένα σύνολο δεδομένων για μια σχέση, για παράδειγμα, ένα ζεύγος κλειδιού-τιμής. Η ακόλουθη παράσταση εμφανίζει το όνομα προϊόντος από ένα σύνολο δεδομένων ("Προϊόν"), με βάση το αναγνωριστικό προϊόντος για αντιστοίχιση:

    =Lookup(Fields!PID.Value, Fields!ProductID.Value, Fields.ProductName.Value, "Product")  
    

LookupSet

  • Καθορίζοντας ένα πεδίο κλειδιού, μπορείτε να χρησιμοποιήσετε τη συνάρτηση LookupSet για να ανακτήσετε ένα σύνολο τιμών από ένα σύνολο δεδομένων για μια σχέση ένα-προς-πολλά. Για παράδειγμα, ένα άτομο μπορεί να έχει πολλούς αριθμούς τηλεφώνου. Στο παρακάτω παράδειγμα, ας υποθέσουμε ότι το σύνολο δεδομένων Τηλέφωνο List περιέχει ένα αναγνωριστικό ατόμου και έναν αριθμό τηλεφώνου σε κάθε γραμμή. Η συνάρτηση LookupSet επιστρέφει έναν πίνακα τιμών. Η ακόλουθη παράσταση συνδυάζει τις τιμές που επιστρέφονται σε μία συμβολοσειρά και εμφανίζει τη λίστα των αριθμών τηλεφώνου του ατόμου που καθορίζεται από το Αναγνωριστικό επαφής:

    =Join(LookupSet(Fields!ContactID.Value, Fields!PersonID.Value, Fields!PhoneNumber.Value, "PhoneList"),",")  
    

Συναρτήσεις μετατροπής

Μπορείτε να χρησιμοποιήσετε συναρτήσεις της Visual Basic για να μετατρέψετε ένα πεδίο από έναν τύπο δεδομένων σε έναν διαφορετικό τύπο δεδομένων. Οι συναρτήσεις μετατροπής μπορούν να χρησιμοποιηθούν για τη μετατροπή του προεπιλεγμένου τύπου δεδομένων για ένα πεδίο στον τύπο δεδομένων που απαιτείται για υπολογισμούς ή για τον συνδυασμό κειμένου.

  • Η ακόλουθη παράσταση μετατρέπει τη σταθερά 500 στον τύπο Δεκαδικός για να τη συγκρίνει με έναν τύπο δεδομένων χρήματος Transact-SQL στο πεδίο Τιμή για μια παράσταση φίλτρου.

    =CDec(500)  
    
  • Η ακόλουθη παράσταση εμφανίζει τον αριθμό των τιμών που έχουν επιλεγεί για την παράμετρο πολλαπλών τιμών MySelection.

    =CStr(Parameters!MySelection.Count)  
    

Συναρτήσεις απόφασης

  • Η συνάρτηση IIF επιστρέφει μία από δύο τιμές, ανάλογα με το αν η παράσταση είναι αληθής ή όχι. Η ακόλουθη παράσταση χρησιμοποιεί τη συνάρτηση IIF για να επιστρέψει μια δυαδική τιμή True εάν η τιμή του LineTotal υπερβαίνει το 100. Διαφορετικά, επιστρέφει False:

    =IIF(Fields!LineTotal.Value > 100, True, False)  
    
  • Χρησιμοποιήστε πολλαπλές συναρτήσεις IIF (γνωστές και ως "ένθετες IIF") για να επιστρέψετε μία από τρεις τιμές, ανάλογα με την τιμή της PctComplete. Η ακόλουθη παράσταση μπορεί να τοποθετηθεί στο χρώμα γεμίσματος ενός πλαισίου κειμένου για να αλλάξει το χρώμα φόντου ανάλογα με την τιμή στο πλαίσιο κειμένου.

    =IIF(Fields!PctComplete.Value >= 10, "Green", IIF(Fields!PctComplete.Value >= 1, "Blue", "Red"))  
    

    Τιμές μεγαλύτερες ή ίσες με 10 εμφανίζονται με πράσινο φόντο, μεταξύ 1 έως 9 εμφανίζονται με μπλε φόντο και μικρότερες από 1 εμφανίζονται με κόκκινο φόντο.

  • Ένας διαφορετικός τρόπος για να έχετε την ίδια λειτουργικότητα χρησιμοποιεί τη συνάρτηση Switch . Η συνάρτηση Switch είναι χρήσιμη όταν υπάρχουν τρεις ή περισσότερες συνθήκες για δοκιμή. Η συνάρτηση Switch επιστρέφει την τιμή που σχετίζεται με την πρώτη παράσταση μιας σειράς που αξιολογείται ως true:

    =Switch(Fields!PctComplete.Value >= 10, "Green", Fields!PctComplete.Value >= 1, "Blue", Fields!PctComplete.Value = 1, "Yellow", Fields!PctComplete.Value <= 0, "Red")  
    

    Τιμές μεγαλύτερες ή ίσες με 10 εμφανίζονται με πράσινο φόντο, μεταξύ 1 έως 9 εμφανίζονται με μπλε φόντο, ίσες με 1 εμφανίζονται με κίτρινο φόντο και 0 ή λιγότερες εμφανίζονται με κόκκινο φόντο.

  • Δοκιμάστε την τιμή του πεδίου ImportantDate και επιστρέψτε "Red" εάν είναι περισσότερο από μία εβδομάδα παλιά και "Blue" σε διαφορετική περίπτωση. Αυτή η παράσταση μπορεί να χρησιμοποιηθεί για τον έλεγχο της ιδιότητας Color ενός πλαισίου κειμένου σε ένα στοιχείο αναφοράς:

    =IIF(DateDiff("d",Fields!ImportantDate.Value, Now())>7,"Red","Blue")  
    
  • Δοκιμάστε την τιμή του πεδίου Τηλέφωνο Number και επιστρέψτε "No Value" εάν είναι null (Nothing στην Visual Basic). Διαφορετικά, επιστρέψτε την τιμή αριθμού τηλεφώνου. Αυτή η παράσταση μπορεί να χρησιμοποιηθεί για τον έλεγχο της τιμής ενός πλαισίου κειμένου σε ένα στοιχείο αναφοράς.

    =IIF(Fields!PhoneNumber.Value Is Nothing,"No Value",Fields!PhoneNumber.Value)  
    
  • Δοκιμάστε την τιμή του πεδίου Τμήμα και επιστρέψτε είτε ένα όνομα δευτερεύουσας αναφοράς είτε μια τιμή null (Nothing στην Visual Basic). Αυτή η παράσταση μπορεί να χρησιμοποιηθεί για δευτερεύουσες αναφορές άντλησης υπό όρους.

    =IIF(Fields!Department.Value = "Development", "EmployeeReport", Nothing)  
    
  • Ελέγξτε εάν μια τιμή πεδίου είναι null. Αυτή η παράσταση μπορεί να χρησιμοποιηθεί για τον έλεγχο της ιδιότητας Hidden ενός στοιχείου αναφοράς εικόνας. Στο παρακάτω παράδειγμα, η εικόνα που καθορίζεται από το πεδίο LargePhoto εμφανίζεται μόνο εάν η τιμή του πεδίου δεν είναι null.

    =IIF(IsNothing(Fields!LargePhoto.Value),True,False)  
    
  • Η συνάρτηση MonthName επιστρέφει μια τιμή συμβολοσειράς που περιέχει το όνομα του καθορισμένου μήνα. Το παρακάτω παράδειγμα εμφανίζει NA στο πεδίο Μήνας, όταν το πεδίο περιέχει την τιμή 0.

    IIF(Fields!Month.Value=0,"NA",MonthName(IIF(Fields!Month.Value=0,1,Fields!Month.Value)))  
    
    

Συναρτήσεις αναφοράς

Σε μια παράσταση, μπορείτε να προσθέσετε μια αναφορά σε πρόσθετες συναρτήσεις αναφοράς που χειρίζονται δεδομένα σε μια αναφορά. Αυτή η ενότητα παρέχει παραδείγματα για δύο από αυτές τις συναρτήσεις.

Άθροισμα

  • Η συνάρτηση Sum μπορεί να αθροίσει τις τιμές σε μια ομάδα ή περιοχή δεδομένων. Αυτή η συνάρτηση μπορεί να είναι χρήσιμη στην κεφαλίδα ή το υποσέλιδα μιας ομάδας. Η ακόλουθη παράσταση εμφανίζει το άθροισμα των δεδομένων στην ομάδα Παραγγελία ή στην περιοχή δεδομένων:

    =Sum(Fields!LineTotal.Value, "Order")  
    
  • Μπορείτε επίσης να χρησιμοποιήσετε τη συνάρτηση Sum για υπολογισμούς συγκεντρωτικών αποτελεσμάτων υπό όρους. Για παράδειγμα, εάν ένα σύνολο δεδομένων έχει ένα πεδίο που ονομάζεται State με πιθανές τιμές Not Started, Started, Finished, η ακόλουθη παράσταση, όταν τοποθετηθεί σε μια κεφαλίδα ομάδας, υπολογίζει το συγκεντρωτικό άθροισμα μόνο για την τιμή Ολοκληρώθηκε:

    =Sum(IIF(Fields!State.Value = "Finished", 1, 0))  
    

Αριθμός γραμμών

  • Η συνάρτηση RowNumber , όταν χρησιμοποιείται σε ένα πλαίσιο κειμένου μέσα σε μια περιοχή δεδομένων, εμφανίζει τον αριθμό γραμμής για κάθε παρουσία του πλαισίου κειμένου στο οποίο εμφανίζεται η παράσταση. Αυτή η συνάρτηση μπορεί να είναι χρήσιμη για τον αριθμό γραμμών σε έναν πίνακα. Μπορεί επίσης να είναι χρήσιμη για πιο σύνθετες εργασίες, όπως η παροχή αλλαγών σελίδας με βάση τον αριθμό των γραμμών. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα Αλλαγές σελίδας σε αυτό το άρθρο.

    Η εμβέλεια που καθορίζετε για τη συνάρτηση RowNumber ελέγχει πότε ξεκινά η επανάληψη αρίθμησης. Η λέξη-κλειδί Τίποτα υποδεικνύει ότι η συνάρτηση θα ξεκινήσει την μέτρηση από την πρώτη γραμμή στην περιοχή εξωτερικών δεδομένων. Για να ξεκινήσετε την μέτρηση εντός ένθετης περιοχής δεδομένων, χρησιμοποιήστε το όνομα της περιοχής δεδομένων. Για να ξεκινήσετε την μέτρηση μέσα σε μια ομάδα, χρησιμοποιήστε το όνομα της ομάδας.

    =RowNumber(Nothing)  
    

Εμφάνιση δεδομένων αναφοράς

Μπορείτε να χρησιμοποιήσετε παραστάσεις για τον χειρισμό του τρόπου εμφάνισης των δεδομένων σε μια αναφορά. Για παράδειγμα, μπορείτε να εμφανίσετε τις τιμές δύο πεδίων σε ένα μόνο πλαίσιο κειμένου, να εμφανίσετε πληροφορίες σχετικά με την αναφορά ή να επηρεάσετε τον τρόπο εισαγωγής των αλλαγών σελίδας στην αναφορά.

Κεφαλίδες και υποσέλιδα σελίδας

Κατά τη σχεδίαση μιας αναφοράς, μπορείτε να εμφανίσετε το όνομα της αναφοράς και τον αριθμό σελίδας στο υποσέλιδό της αναφοράς. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε τις ακόλουθες παραστάσεις:

  • Η ακόλουθη παράσταση παρέχει το όνομα της αναφοράς και την ώρα που εκτελέστηκε. Μπορεί να τοποθετηθεί σε ένα πλαίσιο κειμένου στο υποσέλιδό της αναφοράς ή στο σώμα της αναφοράς. Η ώρα μορφοποιείται με τη συμβολοσειρά μορφοποίησης .NET Framework για σύντομη ημερομηνία:

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")  
    
  • Η ακόλουθη παράσταση, τοποθετημένη σε ένα πλαίσιο κειμένου στο υποσέλιδα μιας αναφοράς, παρέχει τον αριθμό σελίδας και τον συνολικό αριθμό σελίδων στην αναφορά:

    =Globals.PageNumber & " of " & Globals.TotalPages  
    

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

  • Η ακόλουθη παράσταση, τοποθετημένη σε ένα πλαίσιο κειμένου στην αριστερή πλευρά της κεφαλίδας σελίδας, παρέχει την πρώτη τιμή του πλαισίου κειμένου LastName στη σελίδα:

    =First(ReportItems("LastName").Value)  
    
  • Η ακόλουθη παράσταση, τοποθετημένη σε ένα πλαίσιο κειμένου στη δεξιά πλευρά της κεφαλίδας σελίδας, παρέχει την τελευταία τιμή του πλαισίου κειμένου LastName στη σελίδα:

    =Last(ReportItems("LastName").Value)  
    

Το παρακάτω παράδειγμα περιγράφει τον τρόπο εμφάνισης ενός συνόλου σελίδας. Το παράδειγμα προϋποθέτει μια περιοχή δεδομένων που περιέχει ένα πλαίσιο κειμένου με την ονομασία Cost.

  • Η ακόλουθη παράσταση, τοποθετημένη σε μια κεφαλίδα ή υποσέλιδα σελίδας, παρέχει το άθροισμα των τιμών στο πλαίσιο κειμένου Κόστος για τη σελίδα:

    =Sum(ReportItems("Cost").Value)  
    

Σημείωμα

Μπορείτε να αναφερθείτε μόνο σε ένα στοιχείο αναφοράς ανά παράσταση σε μια κεφαλίδα ή υποσέλιδα σελίδας. Επίσης, μπορείτε να αναφερθείτε στο όνομα του πλαισίου κειμένου, αλλά όχι στην πραγματική παράσταση δεδομένων μέσα στο πλαίσιο κειμένου, στις παραστάσεις κεφαλίδας και υποσέλιδου σελίδας.

Αλλαγές σελίδας

Σε ορισμένες αναφορές, μπορείτε να τοποθετήσετε μια αλλαγή σελίδας στο τέλος ενός καθορισμένου αριθμού γραμμών αντί, ή επιπλέον, σε ομάδες ή στοιχεία αναφοράς. Δημιουργήστε μια ομάδα που περιέχει τις ομάδες ή τις εγγραφές λεπτομερειών που θέλετε, προσθέστε μια αλλαγή σελίδας στην ομάδα και, στη συνέχεια, προσθέστε μια παράσταση ομάδας για ομαδοποίηση κατά έναν καθορισμένο αριθμό γραμμών.

  • Η ακόλουθη παράσταση, όταν τοποθετηθεί στην παράσταση ομάδας, αντιστοιχίζει έναν αριθμό σε κάθε σύνολο 25 γραμμών. Όταν ορίζεται μια αλλαγή σελίδας για την ομάδα, αυτή η παράσταση έχει ως αποτέλεσμα μια αλλαγή σελίδας κάθε 25 γραμμές.

    =Ceiling(RowNumber(Nothing)/25)  
    

    Για να επιτρέψετε στο χρήστη να ορίσει μια τιμή για τον αριθμό των γραμμών ανά σελίδα, δημιουργήστε μια παράμετρο με την ονομασία RowsPerPage και βασίσουμε την παράσταση ομάδας στην παράμετρο, όπως φαίνεται στην παρακάτω παράσταση:

    =Ceiling(RowNumber(Nothing)/Parameters!RowsPerPage.Value)  
    

Ιδιότητες

Οι παραστάσεις δεν χρησιμοποιούνται μόνο για την εμφάνιση δεδομένων σε πλαίσια κειμένου. Μπορούν επίσης να χρησιμοποιηθούν για την αλλαγή του τρόπου εφαρμογής των ιδιοτήτων σε στοιχεία αναφοράς. Μπορείτε να αλλάξετε τις πληροφορίες στυλ για ένα στοιχείο αναφοράς ή να αλλάξετε την ορατότητά του.

Μορφοποίηση

  • Η ακόλουθη παράσταση, όταν χρησιμοποιείται στην ιδιότητα Color ενός πλαισίου κειμένου, αλλάζει το χρώμα του κειμένου ανάλογα με την τιμή του πεδίου Κέρδη :

    =Iif(Fields!Profit.Value < 0, "Red", "Black")  
    

    Μπορείτε επίσης να χρησιμοποιήσετε τη μεταβλητή αντικειμένου Visual Basic Me. Αυτή η μεταβλητή είναι ένας άλλος τρόπος αναφοράς στην τιμή ενός πλαισίου κειμένου.

    =Iif(Me.Value < 0, "Red", "Black")

  • Η ακόλουθη παράσταση, όταν χρησιμοποιείται στην ιδιότητα BackgroundColor ενός στοιχείου αναφοράς σε μια περιοχή δεδομένων, εναλλάσσει το χρώμα φόντου κάθε γραμμής μεταξύ ανοιχτού πράσινου και λευκού:

    =Iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White")  
    

    Εάν χρησιμοποιείτε μια παράσταση για μια καθορισμένη εμβέλεια, ίσως χρειαστεί να υποδείξετε το σύνολο δεδομένων για τη συνάρτηση συγκεντρωτικών αποτελεσμάτων:

    =Iif(RowNumber("Employees") Mod 2, "PaleGreen", "White")  
    

Σημείωμα

Τα διαθέσιμα χρώματα προέρχονται από την απαρίθμηση KnownColor του .NET Framework.

Χρώματα γραφήματος

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

Ορατότητα

Μπορείτε να εμφανίσετε και να αποκρύψετε στοιχεία σε μια αναφορά χρησιμοποιώντας τις ιδιότητες ορατότητας για το στοιχείο αναφοράς. Σε μια περιοχή δεδομένων, όπως έναν πίνακα, μπορείτε αρχικά να αποκρύψετε γραμμές λεπτομερειών με βάση την τιμή σε μια παράσταση.

  • Η ακόλουθη παράσταση, όταν χρησιμοποιείται για την αρχική ορατότητα των γραμμών λεπτομερειών σε μια ομάδα, εμφανίζει τις γραμμές λεπτομερειών για όλες τις πωλήσεις που υπερβαίνουν το 90 τοις εκατό στο πεδίο PctQuota :

    =IIF(Fields!PctQuota.Value>.9, False, True)  
    
  • Η ακόλουθη παράσταση, όταν οριστεί στην ιδιότητα Hidden ενός πίνακα, εμφανίζει τον πίνακα μόνο εάν έχει περισσότερες από 12 γραμμές:

    =IIF(CountRows()>12,false,true)  
    
  • Η ακόλουθη παράσταση, όταν οριστεί στην ιδιότητα Hidden μιας στήλης, εμφανίζει τη στήλη μόνο εάν το πεδίο υπάρχει στο σύνολο δεδομένων αναφοράς μετά την ανάκτηση των δεδομένων από την προέλευση δεδομένων:

    =IIF(Fields!Column_1.IsMissing, true, false)  
    

Μπορείτε να προσαρμόσετε τις διευθύνσεις URL, χρησιμοποιώντας δεδομένα αναφοράς και να ελέγχετε επίσης υπό όρους εάν προστίθενται διευθύνσεις URL ως ενέργεια για ένα πλαίσιο κειμένου.

  • Η ακόλουθη παράσταση, όταν χρησιμοποιείται ως ενέργεια σε ένα πλαίσιο κειμένου, δημιουργεί μια προσαρμοσμένη διεύθυνση URL που καθορίζει το πεδίο συνόλου δεδομένων EmployeeID ως παράμετρο διεύθυνσης URL.

    ="https://adventure-works/MyInfo?ID=" & Fields!EmployeeID.Value  
    
  • Η ακόλουθη παράσταση ελέγχει υπό όρους εάν θα προστεθεί μια διεύθυνση URL σε ένα πλαίσιο κειμένου. Αυτή η παράσταση εξαρτάται από μια παράμετρο που ονομάζεται IncludeURLs , η οποία επιτρέπει στον χρήστη να αποφασίσει αν θα συμπεριλάβει ενεργές διευθύνσεις URL σε μια αναφορά. Αυτή η παράσταση ορίζεται ως ενέργεια σε ένα πλαίσιο κειμένου. Ορίζοντας την παράμετρο σε False και, στη συνέχεια, προβάλλοντας την αναφορά, μπορείτε να εξαγάγετε την αναφορά στο Microsoft Excel χωρίς υπερ-συνδέσεις.

    =IIF(Parameters!IncludeURLs.Value,"https://adventure-works.com/productcatalog",Nothing)  
    

Σημείωμα

Οι σελιδοποιημένες αναφορές Power BI δεν υποστηρίζουν τη χρήση JavaScript εντός μιας παράστασης Μετάβαση σε διεύθυνση URL .

Δεδομένα αναφοράς

Οι παραστάσεις μπορούν να χρησιμοποιηθούν για τον χειρισμό των δεδομένων που χρησιμοποιούνται στην αναφορά. Μπορείτε να αναφερθείτε σε παραμέτρους και άλλες πληροφορίες αναφοράς. Μπορείτε ακόμη και να αλλάξετε το ερώτημα που χρησιμοποιείται για την ανάκτηση δεδομένων για την αναφορά.

Παράμετροι

Μπορείτε να χρησιμοποιήσετε παραστάσεις σε μια παράμετρο για να αλλάξετε την προεπιλεγμένη τιμή για την παράμετρο. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε μια παράμετρο για να φιλτράρετε δεδομένα σε έναν συγκεκριμένο χρήστη με βάση το αναγνωριστικό χρήστη που χρησιμοποιείται για την εκτέλεση της αναφοράς.

  • Η ακόλουθη παράσταση, όταν χρησιμοποιείται ως η προεπιλεγμένη τιμή για μια παράμετρο, συλλέγει το αναγνωριστικό χρήστη του ατόμου που εκτελεί την αναφορά:

    =User!UserID  
    
  • Για να αναφερθείτε σε μια παράμετρο σε μια παράμετρο ερωτήματος, παράσταση φίλτρου, πλαίσιο κειμένου ή άλλη περιοχή της αναφοράς, χρησιμοποιήστε την καθολική συλλογή Παράμετροι . Αυτό το παράδειγμα προϋποθέτει ότι η παράμετρος ονομάζεται Department:

    =Parameters!Department.Value  
    
  • Οι παράμετροι μπορούν να δημιουργηθούν σε μια αναφορά, αλλά να οριστούν σε κρυφές. Όταν η αναφορά εκτελείται στο διακομιστή αναφορών, η παράμετρος δεν εμφανίζεται στη γραμμή εργαλείων και ο αναγνώστης αναφοράς δεν μπορεί να αλλάξει την προεπιλεγμένη τιμή. Μπορείτε να χρησιμοποιήσετε μια κρυφή παράμετρο που έχει οριστεί σε μια προεπιλεγμένη τιμή μιας προσαρμοσμένης σταθεράς. Μπορείτε να χρησιμοποιήσετε αυτή την τιμή σε οποιαδήποτε παράσταση, συμπεριλαμβανομένης μιας παράστασης πεδίου. Η ακόλουθη παράσταση προσδιορίζει το πεδίο που καθορίζεται από την προεπιλεγμένη τιμή παραμέτρου για την παράμετρο που ονομάζεται ParameterField:

    =Fields(Parameters!ParameterField.Value).Value  
    

Προσαρμοσμένος κώδικας

Μπορείτε να χρησιμοποιήσετε προσαρμοσμένο κώδικα ενσωματωμένο σε μια αναφορά.

Χρήση μεταβλητών ομάδας για προσαρμοσμένη συνάθροιση

Μπορείτε να αρχικοποιήσετε την τιμή για μια μεταβλητή ομάδας που είναι τοπική σε σχέση με μια συγκεκριμένη εμβέλεια ομάδας και, στη συνέχεια, να συμπεριλάβετε μια αναφορά σε αυτήν τη μεταβλητή σε παραστάσεις. Ένας από τους τρόπους με τους οποίους μπορείτε να χρησιμοποιήσετε μια μεταβλητή ομάδας με προσαρμοσμένο κώδικα είναι να υλοποιήσετε μια προσαρμοσμένη συνάθροιση.

Απόκρυψη null ή μηδενικών τιμών κατά τον χρόνο εκτέλεσης

Ορισμένες τιμές σε μια παράσταση μπορεί να αποτιμηθούν σε null ή μη καθορισμένες κατά τον χρόνο επεξεργασίας αναφοράς. Αυτό μπορεί να δημιουργήσει σφάλματα χρόνου εκτέλεσης που έχουν ως αποτέλεσμα #Error εμφάνιση στο πλαίσιο κειμένου αντί για την αξιολογημένη παράσταση. Η συνάρτηση IIF είναι ιδιαίτερα ευαίσθητη σε αυτή τη συμπεριφορά καθώς, σε αντίθεση με μια πρόταση If-Then-Else , κάθε τμήμα της πρότασης IIF αξιολογείται (συμπεριλαμβανομένων των κλήσεων συναρτήσεων) προτού διαβιβαστεί στη ρουτίνα που ελέγχει για true ή false. Η πρόταση =IIF(Fields!Sales.Value is NOTHING, 0, Fields!Sales.Value) δημιουργεί #Error στην αναφορά που αποδίδεται εάν τα πεδία! Η Sales.Value δεν είναι ΤΊΠΟΤΑ.

Για να αποφύγετε αυτή την κατάσταση, χρησιμοποιήστε μία από τις ακόλουθες στρατηγικές:

  • Ορίστε τον αριθμητή σε 0 και τον παρονομαστή σε 1 εάν η τιμή για το πεδίο B είναι 0 ή μη καθορισμένη. διαφορετικά, ορίστε τον αριθμητή στην τιμή για το πεδίο A και τον παρονομαστή στην τιμή για το πεδίο B.

    =IIF(Field!B.Value=0, 0, Field!A.Value / IIF(Field!B.Value =0, 1, Field!B.Value))  
    
  • Χρησιμοποιήστε μια συνάρτηση προσαρμοσμένου κώδικα για να επιστρέψετε την τιμή για την παράσταση. Το παρακάτω παράδειγμα επιστρέφει την ποσοστιαία διαφορά μεταξύ μιας τρέχουσας τιμής και μιας προηγούμενης τιμής. Αυτό μπορεί να χρησιμοποιηθεί για τον υπολογισμό της διαφοράς μεταξύ δύο διαδοχικών τιμών και χειρίζεται την περίπτωση άκρου της πρώτης σύγκρισης (όταν δεν υπάρχει καμία προηγούμενη τιμή) και τις περιπτώσεις όπου είτε η προηγούμενη τιμή είτε η τρέχουσα τιμή είναι null (Nothing στη Visual Basic).

    Public Function GetDeltaPercentage(ByVal PreviousValue, ByVal CurrentValue) As Object  
        If IsNothing(PreviousValue) OR IsNothing(CurrentValue) Then  
            Return Nothing  
        Else if PreviousValue = 0 OR CurrentValue = 0 Then  
            Return Nothing  
        Else   
            Return (CurrentValue - PreviousValue) / CurrentValue  
        End If  
    End Function  
    

    Η ακόλουθη παράσταση δείχνει πώς μπορείτε να καλέσετε αυτόν τον προσαρμοσμένο κώδικα από ένα πλαίσιο κειμένου, για το κοντέινερ ColumnGroupByYear (ομάδα ή περιοχή δεδομένων).

    =Code.GetDeltaPercentage(Previous(Sum(Fields!Sales.Value),"ColumnGroupByYear"), Sum(Fields!Sales.Value))  
    

    Αυτός ο κώδικας σάς βοηθά να αποφύγετε εξαιρέσεις χρόνου εκτέλεσης. Τώρα, μπορείτε να χρησιμοποιήσετε μια παράσταση όπως =IIF(Me.Value < 0, "red", "black") στην ιδιότητα Color του πλαισίου κειμένου, για να εμφανίσετε υπό όρους κείμενο με βάση το εάν οι τιμές είναι μεγαλύτερες ή μικρότερες από 0.

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