Τύποι δεδομένων στο Power BI

Αυτό το άρθρο περιγράφει τους τύπους δεδομένων που υποστηρίζουν το Power BI και οι παραστάσεις ανάλυσης δεδομένων (DAX).

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

Αυτή η έννοια είναι σημαντική επειδή ορισμένες συναρτήσεις DAX έχουν ειδικές απαιτήσεις τύπου δεδομένων. Σε πολλές περιπτώσεις, το DAX μετατρέπει έμμεσα τύπους δεδομένων, αλλά σε ορισμένες περιπτώσεις δεν το κάνει. Για παράδειγμα, εάν μια συνάρτηση DAX απαιτεί έναν τύπο δεδομένων Date , αλλά ο τύπος δεδομένων για τη στήλη σας είναι Text, η συνάρτηση DAX δεν θα λειτουργήσει σωστά. Επομένως, είναι σημαντικό και χρήσιμο να χρησιμοποιείτε τους σωστούς τύπους δεδομένων για στήλες.

Προσδιορισμός και καθορισμός του τύπου δεδομένων μιας στήλης

Στο Power BI μπορείτε να προσδιορίσετε και να καθορίσετε τον τύπο δεδομένων μιας στήλης στο πρόγραμμα επεξεργασίας Power Query, στην προβολή πίνακα ή στην προβολή αναφοράς:

  • Στο πρόγραμμα επεξεργασίας Power Query, επιλέξτε τη στήλη και, στη συνέχεια, επιλέξτε Τύπος δεδομένων στην ομάδα Μετασχηματισμός της κορδέλας.

    Στιγμιότυπο οθόνης του προγράμματος επεξεργασίας Power Query, που εμφανίζει την αναπτυσσόμενη επιλογή Τύπος δεδομένων.

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

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

Μπορείτε επίσης να ορίσετε τύπους δεδομένων στον κώδικα Power Query M χρησιμοποιώντας το Προηγμένο πρόγραμμα επεξεργασίας. Για περισσότερες πληροφορίες σχετικά με τους τύπους δεδομένων M και τη Table.TransformColumnTypes συνάρτηση, ανατρέξτε στο θέμα Τύποι δεδομένων στο Power Query και Τύποι και μετατροπή τύπων.

Η αναπτυσσόμενη επιλογή Τύπος δεδομένων στο πρόγραμμα επεξεργασίας Power Query έχει δύο τύπους δεδομένων που δεν υπάρχουν στην προβολή πίνακα ή στην προβολή αναφοράς: Ημερομηνία/Ώρα/Ζώνη ώρας και Διάρκεια. Όταν φορτώνετε μια στήλη με αυτούς τους τύπους δεδομένων στο μοντέλο Power BI, μια στήλη Ημερομηνία/Ώρα/Ζώνη ώρας μετατρέπεται σε τύπο δεδομένων Ημερομηνία/ώρα και μια στήλη Διάρκεια μετατρέπεται σε τύπο δεδομένων Δεκαδικός αριθμός .

Ο τύπος δυαδικών δεδομένων δεν υποστηρίζεται εκτός του προγράμματος επεξεργασίας Power Query. Στο πρόγραμμα επεξεργασίας Power Query, μπορείτε να χρησιμοποιήσετε τον τύπο δυαδικών δεδομένων κατά τη φόρτωση δυαδικών αρχείων, εάν τον μετατρέψετε σε άλλους τύπους δεδομένων πριν από τη φόρτωσή του στο μοντέλο Power BI. Η επιλογή Δυαδικό υπάρχει στα μενού Προβολή πίνακα και Προβολή αναφοράς για λόγους παλαιού τύπου, αλλά εάν προσπαθήσετε να φορτώσετε δυαδικές στήλες στο μοντέλο Power BI, ενδέχεται να αντιμετωπίσετε σφάλματα.

Τύποι αριθμών

Το Power BI υποστηρίζει τρεις τύπους αριθμών: Δεκαδικός αριθμός, Σταθερός δεκαδικός αριθμός και Ακέραιος αριθμός.

Μπορείτε να χρησιμοποιήσετε την ιδιότητα Tabular Object Model (TOM) Column DataType για να καθορίσετε τις DataType απαρίθμηση για τους τύπους αριθμών. Για περισσότερες πληροφορίες σχετικά με την τροποποίηση αντικειμένων μέσω προγραμματισμού στο Power BI, ανατρέξτε στο θέμα Προγραμματισμός σημασιολογικών μοντέλων Power BI με το μοντέλο αντικειμένου σε μορφή πίνακα.

Δεκαδικός αριθμός

Ο δεκαδικός αριθμός είναι ο πιο κοινός τύπος αριθμού και μπορεί να χειριστεί αριθμούς με κλασματικές τιμές και ακέραιους αριθμούς. Ο δεκαδικός αριθμός αντιπροσωπεύει αριθμούς κινητής υποδιαστολής 64 bit (οκτώ byte) με αρνητικές τιμές από -1,79E +308 έως -2,23E -308, θετικές τιμές από 2,23E -308 έως 1,79E +308 και 0. Αριθμοί όπως 34, 34.01 και 34.000367063 είναι έγκυροι δεκαδικοί αριθμοί.

Η μεγαλύτερη ακρίβεια που μπορεί να αντιπροσωπεύει ο τύπος δεκαδικού αριθμού είναι 15 ψηφία. Η υποδιαστολή μπορεί να προκύψει οπουδήποτε στον αριθμό. Αυτός ο τύπος αντιστοιχεί στον τρόπο με τον οποίο το Excel αποθηκεύει τους αριθμούς του και το TOM καθορίζει αυτόν τον τύπο ως DataType.Double Απαρίθμηση.

Σταθερός δεκαδικός αριθμός

Ο τύπος δεδομένων Σταθερός δεκαδικός αριθμός έχει μια σταθερή θέση για το διαχωριστικό δεκαδικών. Το διαχωριστικό δεκαδικών έχει πάντα τέσσερα ψηφία στα δεξιά του και επιτρέπει 19 ψηφία σημασίας. Η μεγαλύτερη τιμή που μπορεί να αντιπροσωπεύει ο Σταθερός δεκαδικός αριθμός είναι θετική ή αρνητική 922.337.203.685.477,5807.

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

Αυτός ο τύπος δεδομένων αντιστοιχεί στον τύπο δεδομένων "Δεκαδικό" (19,4) του SQL Server ή " Νομισματική μονάδα " στις Υπηρεσίες ανάλυσης και το Power Pivot στο Excel. Το TOM καθορίζει αυτόν τον τύπο ως DataType.Decimal Απαρίθμηση.

Ακέραιος αριθμός

Ο ακέραιος αριθμός αντιπροσωπεύει μια ακέραια τιμή 64 bit (οκτώ byte). Επειδή είναι ακέραιος, ο ακέραιος αριθμός δεν έχει ψηφία στα δεξιά του δεκαδικού ψηφίου. Αυτός ο τύπος επιτρέπει 19 ψηφία θετικών ή αρνητικών ακέραιων αριθμών μεταξύ -9,223,372,036,854,775,807 (-2^63+1) και 9,223,372,036,854,775,806 (2^63-2), επομένως μπορεί να αντιπροσωπεύει τους μεγαλύτερους δυνατούς αριθμούς των αριθμητικών τύπων δεδομένων.

Όπως και με τον τύπο σταθερού δεκαδικού , ο τύπος ακέραιου αριθμού μπορεί να είναι χρήσιμος όταν χρειάζεται να ελέγξετε τη στρογγυλοποίηση. Το TOM αντιπροσωπεύει τον τύπο δεδομένων Ακέραιος αριθμός ως DataType.Int64 Απαρίθμηση.

Note

Το μοντέλο δεδομένων Power BI υποστηρίζει ακέραιες τιμές 64 bit, αλλά λόγω περιορισμών JavaScript, ο μεγαλύτερος αριθμός απεικονίσεων Power BI που μπορούν να εκφράσουν με ασφάλεια είναι 9.007.199.254.740.991 (2^53-1). Εάν το μοντέλο δεδομένων σας έχει μεγαλύτερους αριθμούς, μπορείτε να μειώσετε το μέγεθός τους μέσω υπολογισμών πριν τους προσθέσετε σε απεικονίσεις.

Ακρίβεια υπολογισμών τύπου αριθμού

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

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

Οι υπολογισμοί σύγκρισης που σχετίζονται με την ισότητα μεταξύ των τιμών του τύπου δεδομένων Δεκαδικός αριθμός ενδέχεται να επιστρέψουν μη αναμενόμενα αποτελέσματα. Οι συγκρίσεις ισότητας περιλαμβάνουν ίσα =, μεγαλύτερα από >, μικρότερα από <, μεγαλύτερα από ή ίσα με >=, και μικρότερα ή ίσα με <=.

Αυτό το ζήτημα είναι πιο εμφανές όταν χρησιμοποιείτε τη συνάρτηση RANKX σε μια παράσταση DAX, η οποία υπολογίζει το αποτέλεσμα δύο φορές, με αποτέλεσμα ελαφρώς διαφορετικούς αριθμούς. Οι χρήστες της αναφοράς μπορεί να μην παρατηρήσουν τη διαφορά μεταξύ των δύο αριθμών, αλλά το αποτέλεσμα της κατάταξης μπορεί να είναι αισθητά ανακριβές. Για να αποφύγετε μη αναμενόμενα αποτελέσματα, μπορείτε να αλλάξετε τον τύπο δεδομένων στήλης από Δεκαδικός αριθμός σε Σταθερός δεκαδικός αριθμός ή Ακέραιος αριθμός ή να κάνετε αναγκαστική στρογγυλοποίηση χρησιμοποιώντας τη συνάρτηση ROUND. Ο τύπος δεδομένων Σταθερός δεκαδικός αριθμός έχει μεγαλύτερη ακρίβεια, επειδή το διαχωριστικό δεκαδικών έχει πάντα τέσσερα ψηφία στα δεξιά του.

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

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

Τύποι ημερομηνίας/ώρας

Το Power BI υποστηρίζει πέντε τύπους δεδομένων ημερομηνίας/ώρας στο πρόγραμμα επεξεργασίας Power Query. Τόσο η Ημερομηνία/Ώρα/Ζώνη ώρας όσο και η Διάρκεια μετατρέπονται κατά τη φόρτωση στο μοντέλο δεδομένων, ως εξής:

Η Ημερομηνία/Ώρα αντιπροσωπεύει μια τιμή ημερομηνίας και ώρας. Η υποκείμενη τιμή ημερομηνίας/ώρας αποθηκεύεται ως δεκαδικός αριθμός, ώστε να μπορείτε πραγματικά να κάνετε μετατροπή μεταξύ των δύο. Το χρονικό τμήμα αποθηκεύεται ως κλάσμα σε ακέραια πολλαπλάσια του 1/300 δευτερολέπτου (3,33 ms). Ο τύπος δεδομένων υποστηρίζει ημερομηνίες μεταξύ των ετών 1900 και 9999.

Η ημερομηνία αντιπροσωπεύει απλώς μια ημερομηνία χωρίς χρονικό τμήμα. Μια ημερομηνία μετατρέπεται στο μοντέλο ως τιμή ημερομηνίας/ώρας με μηδέν για την κλασματική τιμή.

Ο χρόνος αντιπροσωπεύει απλώς μια ώρα χωρίς τμήμα ημερομηνίας. Μια ώρα μετατρέπεται στο μοντέλο ως τιμή ημερομηνίας/ώρας χωρίς ψηφία στα αριστερά της υποδιαστολής.

Η επιλογή "Ημερομηνία/Ώρα/Ζώνη ώρας " αντιπροσωπεύει μια ημερομηνία/ώρα UTC με μετατόπιση ζώνης ώρας και μετατρέπεται σε "Ημερομηνία/Ώρα " όταν φορτώνεται στο μοντέλο. Το μοντέλο Power BI δεν προσαρμόζει τη ζώνη ώρας με βάση την τοποθεσία ή τις τοπικές ρυθμίσεις ενός χρήστη. Η τιμή 09:00 που έχει φορτωθεί στο μοντέλο στις ΗΠΑ εμφανίζεται ως 09:00 όπου ανοίγει ή προβάλλεται η αναφορά.

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

Note

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

Τύπος κειμένου

Ο τύπος δεδομένων "Κείμενο" είναι μια συμβολοσειρά δεδομένων χαρακτήρων Unicode, η οποία μπορεί να είναι γράμματα, αριθμοί ή ημερομηνίες που αναπαρίστανται σε μορφή κειμένου. Το πρακτικό μέγιστο όριο για το μήκος συμβολοσειράς είναι περίπου 32.000 χαρακτήρες Unicode, με βάση τον υποκείμενο μηχανισμό Power Query του Power BI και τα όριά του στα μήκη τύπων δεδομένων κειμένου . Οι τύποι δεδομένων κειμένου πέρα από το πρακτικό μέγιστο όριο είναι πιθανό να οδηγήσουν σε σφάλματα.

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

Διάκριση πεζών-κεφαλαίων

Ο μηχανισμός που αποθηκεύει και υποβάλλει ερωτήματα σε δεδομένα στο Power BI δεν κάνει διάκριση πεζών-κεφαλαίων και αντιμετωπίζει τη διαφορετική χρήση κεφαλαίων γραμμάτων ως την ίδια τιμή. Το "A" ισούται με το "a". Ωστόσο, το Power Query κάνει διάκριση πεζών-κεφαλαίων, όπου το "A" δεν είναι το ίδιο με το "a". Η διαφορά στην ευαισθησία πεζών-κεφαλαίων μπορεί να οδηγήσει σε καταστάσεις όπου τα δεδομένα κειμένου αλλάζουν κεφαλαία φαινομενικά ανεξήγητα μετά τη φόρτωση στο Power BI.

Το παρακάτω παράδειγμα εμφανίζει δεδομένα παραγγελιών: Μια στήλη "Αριθμός παραγγελίας " που είναι μοναδική για κάθε παραγγελία και μια στήλη "Παραλήπτης " που εμφανίζει το όνομα του παραλήπτη που έχει εισαχθεί με μη αυτόματο τρόπο κατά την παραγγελία. Το πρόγραμμα επεξεργασίας Power Query εμφανίζει πολλές παραγγελίες με τα ίδια ονόματα παραλήπτη που έχουν εισαχθεί στο σύστημα με διαφορετικά κεφαλαία.

Στιγμιότυπο οθόνης δεδομένων κειμένου με διάφορα κεφαλαία γράμματα στο Power Query

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

Στιγμιότυπο οθόνης που εμφανίζει τα δεδομένα κειμένου με αλλαγμένη χρήση κεφαλαίων μετά τη φόρτωση στο Power BI.

Αυτή η αλλαγή συμβαίνει επειδή το πρόγραμμα επεξεργασίας Power Query κάνει διάκριση πεζών-κεφαλαίων, επομένως εμφανίζει τα δεδομένα ακριβώς όπως είναι αποθηκευμένα στο σύστημα προέλευσης. Ο μηχανισμός που αποθηκεύει δεδομένα στο Power BI δεν κάνει διάκριση πεζών-κεφαλαίων, επομένως αντιμετωπίζει τις πεζές και κεφαλαίες εκδόσεις ενός χαρακτήρα ως πανομοιότυπες. Τα δεδομένα Power Query που φορτώνονται στον μηχανισμό Power BI μπορούν να αλλάξουν ανάλογα.

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

Ο κινητήρας βλέπει το όνομα "Taina Hasu" ως πανομοιότυπο με το "TAINA HASU" και το "Taina HASU", επομένως δεν αποθηκεύει αυτές τις παραλλαγές, αλλά αναφέρεται στην πρώτη παραλλαγή που αποθήκευσε. Το όνομα "MURALI DAS" εμφανίζεται με κεφαλαία γράμματα, επειδή έτσι εμφανίστηκε το όνομα την πρώτη φορά που ο κινητήρας το αξιολόγησε κατά τη φόρτωση των δεδομένων από πάνω προς τα κάτω.

Αυτή η εικόνα απεικονίζει τη διαδικασία αξιολόγησης:

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

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

Για την τέταρτη σειρά, η μηχανή συγκρίνει την τιμή με τα ονόματα στο λεξικό και βρίσκει το όνομα. Δεδομένου ότι ο κινητήρας δεν κάνει διάκριση πεζών-κεφαλαίων, το "TAINA HASU" και το "Taina Hasu" είναι τα ίδια. Η μηχανή δεν προσθέτει νέο όνομα στο λεξικό, αλλά αναφέρεται στο υπάρχον όνομα. Η ίδια διαδικασία συμβαίνει και για τις υπόλοιπες σειρές.

Important

Επειδή ο μηχανισμός που αποθηκεύει και υποβάλλει ερωτήματα σε δεδομένα στο Power BI δεν κάνει διάκριση πεζών-κεφαλαίων, προσέξτε ιδιαίτερα όταν εργάζεστε σε λειτουργία DirectQuery με μια προέλευση με διάκριση πεζών-κεφαλαίων. Το Power BI υποθέτει ότι η προέλευση έχει εξαλείψει τις διπλότυπες γραμμές. Επειδή το Power BI δεν κάνει διάκριση πεζών-κεφαλαίων, αντιμετωπίζει δύο τιμές που διαφέρουν μόνο κατά πεζά-κεφαλαία ως διπλότυπες, ενώ η προέλευση μπορεί να μην τις αντιμετωπίζει ως τέτοιες. Σε τέτοιες περιπτώσεις, το τελικό αποτέλεσμα είναι απροσδιόριστο.

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

Προπορευόμενοι και τελικοί χώροι

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

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

Row Κορυφαίος χώρος Συρόμενος χώρος Name Index Μήκος κειμένου
1 No No "Ντίλαν Γουίλιαμς" 1 14
2 No Yes "Ντίλαν Γουίλιαμς" 10 15
3 Yes No " Ντίλαν Γουίλιαμς" 20 15
4 Yes Yes " Ντίλαν Γουίλιαμς " 40 16

Στο πρόγραμμα επεξεργασίας Power Query, τα δεδομένα που προκύπτουν εμφανίζονται ως εξής.

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

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

Στιγμιότυπο οθόνης των ίδιων δεδομένων κειμένου μετά τη φόρτωση στο Power BI επιστρέφει τον ίδιο αριθμό γραμμών όπως πριν.

Ωστόσο, μια απεικόνιση που βασίζεται σε αυτά τα δεδομένα επιστρέφει μόνο δύο γραμμές.

Στιγμιότυπο οθόνης μιας απεικόνισης πίνακα που βασίζεται στα ίδια δεδομένα που επιστρέφουν μόνο δύο γραμμές δεδομένων.

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

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

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

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

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

Μπορείτε να εντοπίσετε αυτά τα σφάλματα σε αρχικά ή τελικά κενά διαστήματα και να τα επιλύσετε χρησιμοποιώντας το Text.Trim ή το Format>Trim στην περιοχή Transform, για να καταργήσετε τα κενά διαστήματα στο πρόγραμμα επεξεργασίας Power Query.

Σωστός/ψευδής τύπος

Ο τύπος δεδομένων True/false είναι μια δυαδική τιμή είτε True είτε False. Για καλύτερα και πιο συνεπή αποτελέσματα, όταν φορτώνετε μια στήλη που περιέχει δυαδικές πληροφορίες αληθούς/ψευδούς τιμής στο Power BI, ορίστε τον τύπο στήλης σε Αληθές/Ψευδές.

Το Power BI μετατρέπει και εμφανίζει δεδομένα με διαφορετικό τρόπο σε ορισμένες περιπτώσεις. Αυτή η ενότητα περιγράφει συνήθεις περιπτώσεις μετατροπής δυαδικών τιμών και τον τρόπο αντιμετώπισης μετατροπών που δημιουργούν μη αναμενόμενα αποτελέσματα στο Power BI.

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

Ωστόσο, όταν δημοσιεύετε την αναφορά στην υπηρεσία Power BI, η στήλη κατάστασης εγγραφής στο ενημερωτικό δελτίο εμφανίζει 0 και -1 αντί για τις αναμενόμενες τιμές TRUE ή FALSE. Τα παρακάτω βήματα περιγράφουν πώς πραγματοποιείται αυτή η μετατροπή και πώς μπορείτε να την αποτρέψετε.

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

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

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

Στιγμιότυπο οθόνης που εμφανίζει τα δεδομένα που έχουν φορτωθεί στο Power BI.

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

Στιγμιότυπο οθόνης μιας απεικόνισης που εμφανίζει τα δεδομένα να εμφανίζονται όπως αναμένεται.

Ωστόσο, όταν ανανεώνετε το σημασιολογικό μοντέλο στην υπηρεσία Power BI, η στήλη Εγγεγραμμένος στο ενημερωτικό δελτίο στις απεικονίσεις εμφανίζει τιμές ως -1 και 0, αντί να τις εμφανίζει ως TRUE ή FALSE:

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

Εάν αναδημοσιεύσετε την αναφορά από το Power BI Desktop, η στήλη Εγγεγραμμένος στο ενημερωτικό δελτίο εμφανίζει ξανά TRUE ή FALSE όπως αναμένετε, αλλά μόλις πραγματοποιηθεί μια ανανέωση στην υπηρεσία Power BI, οι τιμές αλλάζουν ξανά σε -1 και 0.

Η λύση για να αποτρέψετε αυτήν την κατάσταση είναι να ορίσετε οποιεσδήποτε δυαδικές στήλες ώστε να πληκτρολογούν True/False στο Power BI Desktop και να δημοσιεύσετε ξανά την αναφορά σας.

Στιγμιότυπο οθόνης αλλαγής του τύπου δεδομένων της στήλης σε Αληθές/Ψευδές.

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

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

Αφού αλλάξετε τον τύπο δεδομένων, αναδημοσιεύσετε στην υπηρεσία Power BI και πραγματοποιηθεί ανανέωση, η αναφορά εμφανίζει τις τιμές ως True ή False, όπως αναμένεται.

Το στιγμιότυπο οθόνης που εμφανίζει τιμές true ή false που χρησιμοποιούν τον τύπο δεδομένων True/False εμφανίζεται όπως αναμένεται μετά την ανανέωση.

Για να συνοψίσουμε, όταν εργάζεστε με δυαδικά δεδομένα στο Power BI, βεβαιωθείτε ότι οι στήλες σας έχουν οριστεί στον τύπο δεδομένων Αληθές/Ψευδές στο Power BI Desktop.

Κενό κείμενο

Το κενό είναι ένας τύπος δεδομένων DAX που αντιπροσωπεύει και αντικαθιστά τις τιμές null SQL. Μπορείτε να δημιουργήσετε ένα κενό χρησιμοποιώντας τη συνάρτηση BLANK και να ελέγξετε για κενά χρησιμοποιώντας τη λογική συνάρτηση ISBLANK .

Δυαδικός τύπος

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

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

Note

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

Τύπος πίνακα

Το DAX χρησιμοποιεί έναν τύπο δεδομένων Πίνακας σε πολλές συναρτήσεις, όπως συναθροίσεις και υπολογισμούς χρονικής ευφυΐας. Ορισμένες συναρτήσεις απαιτούν αναφορά σε πίνακα. Άλλες συναρτήσεις επιστρέφουν έναν πίνακα τον οποίο μπορείτε στη συνέχεια να χρησιμοποιήσετε ως είσοδο σε άλλες συναρτήσεις.

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

Έμμεση και ρητή μετατροπή τύπου δεδομένων

Κάθε συνάρτηση DAX έχει συγκεκριμένες απαιτήσεις για τους τύπους δεδομένων που θα χρησιμοποιηθούν ως είσοδοι και έξοδοι. Για παράδειγμα, ορισμένες συναρτήσεις απαιτούν ακέραιους αριθμούς για ορισμένα ορίσματα και ημερομηνίες για άλλα. Άλλες συναρτήσεις απαιτούν κείμενο ή πίνακες.

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

Για παράδειγμα:

  • Εάν πληκτρολογήσετε μια ημερομηνία ως συμβολοσειρά, το DAX αναλύει τη συμβολοσειρά και προσπαθεί να τη μεταδώσει ως μία από τις μορφές ημερομηνίας και ώρας των Windows.
  • Μπορείτε να προσθέσετε TRUE + 1 και να λάβετε το αποτέλεσμα 2, επειδή το DAX μετατρέπει έμμεσα το TRUE στον αριθμό 1 και κάνει τη λειτουργία 1+1.
  • Εάν προσθέσετε τιμές σε δύο στήλες με τη μία τιμή να αναπαρίσταται ως κείμενο ("12") και την άλλη ως αριθμό (12), το DAX μετατρέπει έμμεσα τη συμβολοσειρά σε αριθμό και, στη συνέχεια, κάνει την πρόσθεση για ένα αριθμητικό αποτέλεσμα. Η έκφραση = "22" + 22 επιστρέφει 44.
  • Εάν προσπαθήσετε να συνενώσετε δύο αριθμούς, το DAX τους παρουσιάζει ως συμβολοσειρές και, στη συνέχεια, τους συνενώνει. Η παράσταση = 12 &; 34 επιστρέφει "1234".

Πίνακες έμμεσων μετατροπών δεδομένων

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

Note

Αυτοί οι πίνακες δεν περιλαμβάνουν τον τύπο δεδομένων "Κείμενο ". Όταν ένας αριθμός αναπαρίσταται σε μορφή κειμένου, σε ορισμένες περιπτώσεις το Power BI προσπαθεί να προσδιορίσει τον τύπο αριθμού και να αναπαραστήσει τα δεδομένα ως αριθμό.

Πρόσθεση (+)

INTEGER CURRENCY REAL Date/time
INTEGER INTEGER CURRENCY REAL Date/time
CURRENCY CURRENCY CURRENCY REAL Date/time
REAL REAL REAL REAL Date/time
Date/time Date/time Date/time Date/time Date/time

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

Αφαίρεση (-)

Στον παρακάτω πίνακα, η κεφαλίδα γραμμής είναι το minuend (αριστερή πλευρά) και η κεφαλίδα στήλης είναι το subtrahend (δεξιά πλευρά).

INTEGER CURRENCY REAL Date/time
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Date/time Date/time Date/time Date/time Date/time

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

Note

Τα μοντέλα δεδομένων υποστηρίζουν τον μοναδιαίο τελεστή, - (αρνητικό), αλλά αυτός ο τελεστής δεν αλλάζει τον τύπο δεδομένων του τελεστέου.

Πολλαπλασιασμός (*)

INTEGER CURRENCY REAL Date/time
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

Για παράδειγμα, εάν μια πράξη πολλαπλασιασμού συνδυάζει έναν ακέραιο με έναν πραγματικό αριθμό, το DAX μετατρέπει και τους δύο αριθμούς σε πραγματικούς αριθμούς και η τιμή που επιστρέφεται είναι επίσης ΠΡΑΓΜΑΤΙΚΗ.

Διαίρεση (/)

Στον παρακάτω πίνακα, η κεφαλίδα γραμμής είναι ο αριθμητής και η κεφαλίδα στήλης είναι ο παρονομαστής.

INTEGER CURRENCY REAL Date/time
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Date/time REAL REAL REAL REAL

Για παράδειγμα, εάν μια λειτουργία διαίρεσης συνδυάζει έναν ακέραιο με μια τιμή νομισματικής μονάδας, το DAX μετατρέπει και τις δύο τιμές σε πραγματικούς αριθμούς και το αποτέλεσμα είναι επίσης ένας πραγματικός αριθμός.

Τελεστές σύγκρισης

Στις παραστάσεις σύγκρισης, το DAX θεωρεί δυαδικές τιμές μεγαλύτερες από τις τιμές συμβολοσειράς και τιμές συμβολοσειράς μεγαλύτερες από αριθμητικές τιμές ή τιμές ημερομηνίας/ώρας. Οι αριθμοί και οι τιμές ημερομηνίας/ώρας έχουν την ίδια κατάταξη.

Το DAX δεν πραγματοποιεί έμμεσες μετατροπές για δυαδικές τιμές ή τιμές συμβολοσειράς. Η τιμή BLANK ή μια κενή τιμή μετατρέπεται σε 0, "" ή False, ανάλογα με τον τύπο δεδομένων της άλλης τιμής σύγκρισης.

Οι παρακάτω παραστάσεις DAX απεικονίζουν αυτήν τη συμπεριφορά:

  • =IF(FALSE()>"true","Expression is true", "Expression is false") επιστρέφει "Η έκφραση είναι αληθής".

  • =IF("12">12,"Expression is true", "Expression is false") επιστρέφει "Η έκφραση είναι αληθής".

  • =IF("12"=12,"Expression is true", "Expression is false") επιστρέφει "Η έκφραση είναι ψευδής".

Το DAX πραγματοποιεί έμμεσες μετατροπές για αριθμητικούς τύπους ή τύπους ημερομηνίας/ώρας, όπως περιγράφεται στον παρακάτω πίνακα:

Comparison
Operator
INTEGER CURRENCY REAL Date/time
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Date/time REAL REAL REAL Date/Time

Κενές, κενές συμβολοσειρές και μηδενικές τιμές

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

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

Expression DAX Excel
ΚΕΝΌ + ΚΕΝΌ BLANK 0 (μηδέν)
ΚΕΝΌ + 5 5 5
Κενό * 5 BLANK 0 (μηδέν)
5/BLANK Infinity Error
0/BLANK NaN Error
BLANK/BLANK BLANK Error
ΨΕΥΔΕΣ Ή ΚΕΝΟ FALSE FALSE
ΛΑΘΟΣ ΚΑΙ ΚΕΝΟΣ FALSE FALSE
ΑΛΗΘΈΣ Ή ΚΕΝΌ TRUE TRUE
ΑΛΗΘΕΙΑ ΚΑΙ ΚΕΝΟ FALSE TRUE
ΚΕΝΌ Ή ΚΕΝΌ BLANK Error
ΚΕΝΟ ΚΑΙ ΚΕΝΟ BLANK Error

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