Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Αυτή η εκμάθηση δείχνει πώς μπορείτε να χρησιμοποιήσετε ένα σημειωματάριο Jupyter για να αλληλεπιδράσετε με το Power BI και να εντοπίσετε σχέσεις μεταξύ πινάκων με τη βιβλιοθήκη SemPy.
Σε αυτή την εκμάθηση, θα μάθετε πώς μπορείτε να κάνετε τα εξής:
- Ανακαλύψτε σχέσεις σε ένα μοντέλο σημασιολογίας (σύνολο δεδομένων Power BI) χρησιμοποιώντας τη βιβλιοθήκη Python της σημασιολογικής σύνδεσης (SemPy).
- Χρησιμοποιήστε στοιχεία SemPy που ενοποιούνται με το Power BI και αυτοματοποιήστε την ανάλυση ποιότητας δεδομένων. Αυτά τα στοιχεία περιλαμβάνουν:
-
FabricDataFrame- Μια δομή που μοιάζει με πάντα ενισχυμένη με σημασιολογικές πληροφορίες - Συναρτήσεις που αντλούν σημασιολογικά μοντέλα από ένα χώρο εργασίας Fabric στο σημειωματάριό σας
- Συναρτήσεις που δοκιμάζουν λειτουργικές εξαρτήσεις και εντοπίζουν παραβιάσεις σχέσεων στα σημασιολογικά μοντέλα σας
-
Προϋποθέσεις
Λάβετε μια συνδρομής Microsoft Fabric . Εναλλακτικά, εγγραφείτε για μια δωρεάν δοκιμαστική έκδοση microsoft Fabric.
Εισέλθετε για να το Microsoft Fabric.
Μεταβείτε στο Fabric χρησιμοποιώντας την εναλλαγή εμπειριών στην κάτω αριστερή πλευρά της αρχικής σελίδας σας.
Μεταβείτε στην ενότητα Χώροι εργασίας στο παράθυρο περιήγησης και, στη συνέχεια, επιλέξτε τον χώρο εργασίας σας για να τον ορίσετε ως τον τρέχοντα χώρο εργασίας.
Κάντε λήψη των σημασιολογικών μοντέλων Customer Profitability Sample.pbix και Customer Profitability Sample (auto).pbix από το αποθετήριο δειγμάτων υφασμάτων GitHub και, στη συνέχεια, ανεβάστε τα στον χώρο εργασίας σας.
Ακολουθήστε τις οδηγίες στο σημειωματάριο
Χρησιμοποιήστε το σημειωματάριο powerbi_relationships_tutorial.ipynb για να ακολουθήσετε.
Για να ανοίξετε το σημειωματάριο που συνοδεύει αυτό το εκπαιδευτικό βοήθημα, ακολουθήστε τις οδηγίες στο Προετοιμασία του συστήματός σας για εκπαιδευτικά βοηθήματα επιστήμης δεδομένων, να εισαγάγετε το σημειωματάριο στον χώρο εργασίας σας.
Εάν προτιμάτε να αντιγράψετε και να επικολλήσετε τον κώδικα από αυτήν τη σελίδα, μπορείτε να δημιουργήσετε ένα νέο σημειωματάριο.
Βεβαιωθείτε ότι επισυνάψετε μια λίμνη στο σημειωματάριο προτού ξεκινήσετε την εκτέλεση κώδικα.
Ρύθμιση του σημειωματάριου
Ρυθμίστε ένα περιβάλλον σημειωματαρίου με τις λειτουργικές μονάδες και τα δεδομένα που χρειάζεστε.
Εγκαταστήστε το πακέτο από το
semantic-linkPyPI χρησιμοποιώντας την%pipενσωματωμένη εντολή στο σημειωματάριο.%pip install semantic-linkΕισαγάγετε τις
sempyλειτουργικές μονάδες που θα χρησιμοποιήσετε αργότερα.import sempy.fabric as fabric from sempy.relationships import plot_relationship_metadata from sempy.relationships import find_relationships from sempy.fabric import list_relationship_violationsΕισαγάγετε τη
pandasβιβλιοθήκη και ορίστε μια επιλογή εμφάνισης για μορφοποίηση εξόδου.import pandas as pd pd.set_option('display.max_colwidth', None)
## Explore semantic models
This tutorial uses the Customer Profitability Sample semantic model [_Customer Profitability Sample.pbix_](https://github.com/microsoft/fabric-samples/blob/main/docs-samples/data-science/datasets/Customer%20Profitability%20Sample.pbix). Learn about the semantic model in [Customer Profitability sample for Power BI](/power-bi/create-reports/sample-customer-profitability).
- Use SemPy's `list_datasets` function to explore semantic models in your current workspace:
```python
fabric.list_datasets()
Για το υπόλοιπο αυτού του σημειωματαρίου, χρησιμοποιήστε δύο εκδόσεις του μοντέλου σημασιολογίας δείγματος κερδοφορίας πελάτη:
- Δείγμα κερδοφορίας πελάτη: το σημασιολογικό μοντέλο όπως παρέχεται στα δείγματα Power BI, με προκαθορισμένες σχέσεις πινάκων
- Δείγμα κερδοφορίας πελάτη (αυτόματο): τα ίδια δεδομένα, αλλά οι σχέσεις περιορίζονται σε αυτά που εντοπίζει αυτόματα το Power BI
Εξαγωγή προκαθορισμένων σχέσεων από το σημασιολογικό μοντέλο δείγματος
Φορτώστε τις προκαθορισμένες σχέσεις στο σημασιολογικό μοντέλο δείγματος κερδοφορίας πελάτη χρησιμοποιώντας τη συνάρτηση SemPy
list_relationships. Η συνάρτηση παραθέτει σχέσεις από το μοντέλο αντικειμένου σε μορφή πίνακα (TOM).dataset = "Customer Profitability Sample" relationships = fabric.list_relationships(dataset) relationshipsΑπεικονίστε το DataFrame ως γράφημα χρησιμοποιώντας τη
relationshipsσυνάρτηση SemPyplot_relationship_metadata.plot_relationship_metadata(relationships)Αυτό το γράφημα εμφανίζει τις σχέσεις μεταξύ πινάκων σε αυτό το μοντέλο σημασιολογίας, όπως ορίζονται στο Power BI από έναν ειδικό σε θέματα.
Ανακαλύψτε επιπλέον σχέσεις
Εάν ξεκινήσετε με σχέσεις που εντοπίζει αυτόματα το Power BI, έχετε ένα μικρότερο σύνολο.
Απεικονίστε τις σχέσεις που το Power BI ανιχνεύθηκε αυτόματα στο μοντέλο σημασιολογίας:
dataset = "Customer Profitability Sample (auto)" autodetected = fabric.list_relationships(dataset) plot_relationship_metadata(autodetected)Ο αυτόματος εντοπισμός του Power BI χάνει πολλές σχέσεις. Επίσης, δύο από τις σχέσεις αυτόματου εντοπισμού είναι σημασιολογικά εσφαλμένες:
-
Executive[ID]->Industry[ID] -
BU[Executive_id]->Industry[ID]
-
Εκτυπώστε τις σχέσεις ως πίνακα:
autodetectedΟι γραμμές 3 και 4 εμφανίζουν εσφαλμένες σχέσεις με τον
Industryπίνακα. Καταργήστε αυτές τις γραμμές.Απορρίψτε τις σχέσεις που έχουν προσδιοριστεί εσφαλμένα.
# Remove rows 3 and 4 which point incorrectly to Industry[ID] autodetected = autodetected[~autodetected.index.isin([3, 4])]Τώρα έχετε σωστές αλλά ελλιπείς σχέσεις. Απεικονίστε αυτές τις ατελείς σχέσεις χρησιμοποιώντας
plot_relationship_metadata:plot_relationship_metadata(autodetected)Φορτώστε όλους τους πίνακες από το σημασιολογικό μοντέλο, χρησιμοποιώντας συναρτήσεις SemPy
list_tablesκαιread_tableκαι, στη συνέχεια, βρείτε σχέσεις μεταξύ πινάκων χρησιμοποιώνταςfind_relationshipsτο . Εξετάστε την έξοδο του αρχείου καταγραφής για να λάβετε πληροφορίες σχετικά με τον τρόπο λειτουργίας αυτής της συνάρτησης:suggested_relationships_all = find_relationships( tables, name_similarity_threshold=0.7, coverage_threshold=0.7, verbose=2 )Απεικόνιση σχέσεων που ανακαλύφθηκαν πρόσφατα:
plot_relationship_metadata(suggested_relationships_all)Το SemPy ανιχνεύει όλες τις σχέσεις.
Χρησιμοποιήστε την παράμετρο
excludeγια να περιορίσετε την αναζήτηση σε πρόσθετες σχέσεις που δεν αναγνωρίστηκαν προηγουμένως:additional_relationships = find_relationships( tables, exclude=autodetected, name_similarity_threshold=0.7, coverage_threshold=0.7 ) additional_relationships
Επικύρωση σχέσεων
Αρχικά, φορτώστε δεδομένα από το σημασιολογικό μοντέλο δείγματος κερδοφορίας πελάτη .
dataset = "Customer Profitability Sample" tables = {table: fabric.read_table(dataset, table) for table in fabric.list_tables(dataset)['Name']} tables.keys()Ελέγξτε την επικάλυψη πρωτεύοντος και εξωτερικού κλειδιού με τη
list_relationship_violationsσυνάρτηση. Περάστε τηνlist_relationshipsέξοδο της συνάρτησης στοlist_relationship_violations.list_relationship_violations(tables, fabric.list_relationships(dataset))Τα αποτελέσματα αποκαλύπτουν χρήσιμες πληροφορίες. Για παράδειγμα, μία από τις επτά τιμές στο
Fact[Product Key]δεν υπάρχει στοProduct[Product Key], και το κλειδί που λείπει είναι50.Η διερευνητική ανάλυση δεδομένων και ο καθαρισμός δεδομένων είναι επαναληπτικοί. Αυτό που μαθαίνετε εξαρτάται από τις ερωτήσεις σας και τον τρόπο με τον οποίο εξερευνάτε τα δεδομένα. Η σημασιολογική σύνδεση προσθέτει εργαλεία που σας βοηθούν να κάνετε περισσότερα με τα δεδομένα σας.
Σχετικό περιεχόμενο
Εξερευνήστε άλλα μαθήματα για σημασιολογική σύνδεση και SemPy:
- Εκμάθηση : Καθαρισμός δεδομένων με λειτουργικές εξαρτήσεις
- Εκμάθηση : Ανάλυση λειτουργικών εξαρτήσεων σε ένα δείγμα μοντέλου σημασιολογίας
- Εκμάθηση : Εξαγωγή και υπολογισμός μετρήσεων Power BI από ένα σημειωματάριο Jupyter
- Πρόγραμμα εκμάθησης: Ανακαλύψτε σχέσεις στο σύνολο δεδομένων Synthea, χρησιμοποιώντας σημασιολογική σύνδεση
- Εκμάθηση : Επικύρωση δεδομένων με χρήση των SemPy και Μεγάλων προσδοκιών (GX)