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


Εκμάθηση: Εξαγωγή και υπολογισμός μετρήσεων Power BI από ένα σημειωματάριο Jupyter

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

Σε αυτό το εκπαιδευτικό βοήθημα, θα μάθετε πώς μπορείτε να κάνετε τα εξής:

  • Αξιολογήστε τις μετρήσεις του Power BI μέσω προγραμματισμού μέσω μιας διασύνδεσης Python της βιβλιοθήκης Python (SemPy) σημασιολογίας σύνδεσης.
  • Εξοικειωθείτε με τα στοιχεία του SemPy που βοηθούν στη γεφύρωση του χάσματος μεταξύ AI και BI. Αυτά τα στοιχεία περιλαμβάνουν:
    • FabricDataFrame - μια δομή που μοιάζει με pandas ενισχυμένη με πρόσθετες σημασιολογικές πληροφορίες.
    • Χρήσιμες συναρτήσεις που σας επιτρέπουν να ανακτήσετε σημασιολογικά μοντέλα, συμπεριλαμβανομένων ανεπεξέργαστων δεδομένων, ρυθμίσεων παραμέτρων και μετρήσεων.

Προαπαιτούμενα στοιχεία

  • Λάβετε μια συνδρομή Microsoft Fabric. Εναλλακτικά, εγγραφείτε για μια δωρεάν δοκιμαστική έκδοση του Microsoft Fabric.

  • Εισέλθετε στο Microsoft Fabric.

  • Χρησιμοποιήστε την εναλλαγή εμπειρίας στην αριστερή πλευρά της αρχικής σελίδας σας για να μεταβείτε στην εμπειρία Synapse Data Science.

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

  • Επιλέξτε Χώροι εργασίας από το αριστερό παράθυρο περιήγησης για να βρείτε και να επιλέξετε τον χώρο εργασίας σας. Αυτός ο χώρος εργασίας γίνεται ο τρέχων χώρος εργασίας σας.

  • Κάντε λήψη του σημασιολογικού μοντέλου PBIX.pbix Δείγματος ανάλυσης λιανικής και αποστείλετε στο χώρο εργασίας σας.

Ακολουθήστε τις οδηγίες στο σημειωματάριο

Το σημειωματάριο powerbi_measures_tutorial.ipynb συνοδεύει αυτή την εκμάθηση.

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

Εάν προτιμάτε να αντιγράψετε και να επικολλήσετε τον κώδικα από αυτή τη σελίδα, μπορείτε να δημιουργήσετε ένα νέο σημειωματάριο.

Φροντίστε να επισυνάψετε ένα lakehouse στο σημειωματάριο προτού ξεκινήσετε την εκτέλεση κώδικα.

Ρύθμιση του σημειωματάριου

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

  1. Εγκαταστήστε SemPy από το PyPI χρησιμοποιώντας τη %pip δυνατότητα ενσωματωμένης εγκατάστασης μέσα στο σημειωματάριο:

    %pip install semantic-link
    
  2. Εκτελέστε τις απαραίτητες εισαγωγές λειτουργικών μονάδων που θα χρειαστείτε αργότερα:

    import sempy.fabric as fabric
    
  3. Μπορείτε να συνδεθείτε στον χώρο εργασίας Power BI. Παρατίθενται τα σημασιολογικά μοντέλα στον χώρο εργασίας:

    fabric.list_datasets()
    
  4. Φόρτωση του σημασιολογικού μοντέλου. Σε αυτό το εκπαιδευτικό βοήθημα, χρησιμοποιείτε το σημασιολογικό μοντέλο δείγματος ανάλυσης λιανικής PBIX :

    dataset = "Retail Analysis Sample PBIX"
    

Λίστα μετρήσεων χώρου εργασίας

Παράθεση μετρήσεων στο μοντέλο σημασιολογίας, χρησιμοποιώντας τη συνάρτηση SemPy list_measures ως εξής:

fabric.list_measures(dataset)

Αξιολόγηση μετρήσεων

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

Αξιολόγηση μιας ανεπεξέργαστας μέτρησης

Στον παρακάτω κώδικα, χρησιμοποιήστε τη συνάρτηση του evaluate_measure SemPy για να υπολογίσετε μια προκαθορισμένη μέτρηση που ονομάζεται "Μέσος όρος μεγέθους περιοχής πωλήσεων". Μπορείτε να δείτε τον υποκείμενο τύπο για αυτήν τη μέτρηση στο αποτέλεσμα του προηγούμενου κελιού.

fabric.evaluate_measure(dataset, measure="Average Selling Area Size")

Αξιολογήστε μια μέτρηση με groupby_columns

Μπορείτε να ομαδοποιήσετε την έξοδο μέτρησης κατά συγκεκριμένες στήλες παρέχοντας την επιπλέον παράμετρο groupby_columns:

fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])

Στον προηγούμενο κώδικα, ομαδοποιήσατε κατά τις στήλες Chain και DistrictName του Store πίνακα στο μοντέλο σημασιολογίας.

Αξιολόγηση μέτρησης με φίλτρα

Μπορείτε επίσης να χρησιμοποιήσετε την filters παράμετρο για να καθορίσετε συγκεκριμένες τιμές που μπορεί να περιέχει το αποτέλεσμα για συγκεκριμένες στήλες:

fabric.evaluate_measure(dataset, \
                        measure="Total Units Last Year", \
                        groupby_columns=["Store[Territory]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})

Στον προηγούμενο κώδικα, Store το είναι το όνομα του πίνακα, Territory το είναι το όνομα της στήλης και PA το είναι μία από τις τιμές που επιτρέπει το φίλτρο.

Αξιολόγηση μιας μέτρησης σε πολλούς πίνακες

Μπορείτε να ομαδοποιήσετε τη μέτρηση κατά στήλες που εκτείνονται σε πολλούς πίνακες στο μοντέλο σημασιολογίας.

fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])

Αξιολόγηση πολλών μετρήσεων

Η συνάρτηση evaluate_measure σάς επιτρέπει να παρέχετε αναγνωριστικά πολλών μετρήσεων και να εξαγάγετε τις υπολογιζόμενες τιμές στο ίδιο DataFrame:

fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])

Χρήση της σύνδεσης XMLA του Power BI

Το προεπιλεγμένο πρόγραμμα-πελάτης μοντέλου σημασιολογίας υποστηρίζεται από τα API REST του Power BI. Εάν υπάρχουν προβλήματα κατά την εκτέλεση ερωτημάτων με αυτό το πρόγραμμα-πελάτη, μπορείτε να αλλάξετε το παρασκήνιο στη διασύνδεση XMLA του Power BI χρησιμοποιώντας το use_xmla=True. Οι παράμετροι SemPy παραμένουν ίδιες για υπολογισμό μέτρησης με XMLA.

fabric.evaluate_measure(dataset, \
                        measure=["Average Selling Area Size", "Total Stores"], \
                        groupby_columns=["Store[Chain]", "Store[DistrictName]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]}, \
                        use_xmla=True)

Δείτε άλλα προγράμματα εκμάθησης για τη σημασιολογική σύνδεση / SemPy: