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


Εξερεύνηση και επικύρωση σχέσεων σε σημασιολογικά μοντέλα Power BI

Σε αυτό το άρθρο, θα μάθετε να ανακαλύπτετε και να επικυρώνετε σχέσεις στα σημασιολογικά μοντέλα Power BI και τα pandas DataFrames χρησιμοποιώντας λειτουργικές μονάδες SemPy.

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

Θα μάθετε τα εξής:

  • Εύρεση, απεικόνιση και εξερεύνηση σχέσεων σε ένα σημασιολογικό μοντέλο Power BI
  • Εύρεση και επικύρωση σχέσεων σε ένα dataFrame pandas

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

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

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

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

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

  • Μεταβείτε στην εμπειρία επιστήμης δεδομένων στο Microsoft Fabric.
  • Δημιουργήστε ένα νέο σημειωματάριο για αντιγραφή/επικόλληση κώδικα σε κελιά.
  • Για το Spark 3.4 και νεότερες εκδόσεις, η Σύνδεση σημασιολογίας είναι διαθέσιμη στον προεπιλεγμένο χρόνο εκτέλεσης όταν χρησιμοποιείτε το Fabric και δεν χρειάζεται να την εγκαταστήσετε. Εάν χρησιμοποιείτε το Spark 3.3 ή παρακάτω ή εάν θέλετε να ενημερώσετε την πιο πρόσφατη έκδοση της Σημασιολογικής σύνδεσης, μπορείτε να εκτελέσετε την εντολή: python %pip install -U semantic-link  
  • Προσθέστε ένα Lakehouse στο σημειωματάριό σας. Για το Spark 3.4 και νεότερες εκδόσεις, η Σύνδεση σημασιολογίας είναι διαθέσιμη στον προεπιλεγμένο χρόνο εκτέλεσης όταν χρησιμοποιείτε το Fabric και δεν χρειάζεται να την εγκαταστήσετε. Εάν χρησιμοποιείτε το Spark 3.3 ή παρακάτω ή εάν θέλετε να ενημερώσετε την πιο πρόσφατη έκδοση της Σημασιολογικής σύνδεσης, μπορείτε να εκτελέσετε την εντολή:

python %pip install -U semantic-link  

Εύρεση σχέσεων σε ένα μοντέλο σημασιολογίας

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

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

Για να χρησιμοποιήσετε τη list_relationships συνάρτηση, θα πρέπει πρώτα να εισαγάγετε τη sempy.fabric λειτουργική μονάδα. Στη συνέχεια, μπορείτε να καλέσετε τη συνάρτηση με το όνομα ή UUID του μοντέλου σημασιολογίας Power BI, όπως φαίνεται στον παρακάτω κώδικα:

import sempy.fabric as fabric

fabric.list_relationships("my_dataset")

Ο προηγούμενος κώδικας δείχνει ότι η list_relationships συνάρτηση καλείται με ένα σημασιολογικό μοντέλο Power BI που ονομάζεται my_dataset. Η συνάρτηση επιστρέφει ένα DataFrame pandas με μία γραμμή ανά σχέση, η οποία σας επιτρέπει να εξερευνήσετε και να αναλύσετε εύκολα τις σχέσεις εντός του μοντέλου σημασιολογίας.

Φιλοδώρημα

Το σημειωματάριο, το σημασιολογικό μοντέλο σας (σύνολο δεδομένων Power BI) και το Lakehouse μπορεί να βρίσκονται στον ίδιο χώρο εργασίας ή σε διαφορετικούς χώρους εργασίας. Από προεπιλογή, το SemPy προσπαθεί να αποκτήσει πρόσβαση στο σημασιολογικό μοντέλο σας από:

  • τον χώρο εργασίας του Lakehouse, εάν έχετε συνδέσει ένα Lakehouse στο σημειωματάριό σας.
  • τον χώρο εργασίας του σημειωματάριού σας, εάν δεν υπάρχει συνημμένο στο Lakehouse.

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

Απεικόνιση σχέσεων σε ένα σημασιολογικό μοντέλο

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

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

Ο παρακάτω κώδικας δείχνει πώς μπορείτε να χρησιμοποιήσετε τη plot_relationship_metadata συνάρτηση

import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata

relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)

Στον προηγούμενο κώδικα, η list_relationships συνάρτηση ανακτά τις σχέσεις στο my_dataset μοντέλο σημασιολογίας και η plot_relationship_metadata συνάρτηση δημιουργεί ένα γράφημα για να απεικονίσει αυτές τις σχέσεις.

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

Εξερεύνηση παραβιάσεων σχέσεων σε ένα μοντέλο σημασιολογίας

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

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

Για να χρησιμοποιήσετε τη list_relationship_violations συνάρτηση, θα πρέπει πρώτα να εισαγάγετε τη sempy.fabric λειτουργική μονάδα και να διαβάσετε τους πίνακες από το μοντέλο σημασιολογίας. Στη συνέχεια, μπορείτε να καλέσετε τη συνάρτηση με ένα λεξικό που αντιστοιχίζει τα ονόματα πινάκων στα DataFrames με περιεχόμενο πίνακα.

Ο παρακάτω κώδικας εμφανίζει τον τρόπο παράθεσης των παραβιάσεων σχέσεων:

import sempy.fabric as fabric

tables = {
    "Sales": fabric.read_table("my_dataset", "Sales"),
    "Products": fabric.read_table("my_dataset", "Products"),
    "Customers": fabric.read_table("my_dataset", "Customers"),
}

fabric.list_relationship_violations(tables)

Στον προηγούμενο κώδικα, η list_relationship_violations συνάρτηση καλείται με ένα λεξικό που περιέχει τους πίνακες Πωλήσεις, Προϊόντα και Πελάτες από το my_dataset σημασιολογικό μοντέλο. Η συνάρτηση επιστρέφει ένα dataFrame pandas με μία γραμμή ανά παραβίαση σχέσης, επιτρέποντάς σας να εντοπίζετε και να αντιμετωπίζετε εύκολα τυχόν προβλήματα στο μοντέλο σημασιολογίας.

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

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

Εύρεση σχέσεων σε pandas DataFrames

Ενώ οι list_relationshipsσυναρτήσεις , plot_relationships_df και list_relationship_violations στην εκπαιδευτική ενότητα Fabric είναι ισχυρά εργαλεία για την εξερεύνηση σχέσεων μέσα σε σημασιολογικά μοντέλα, μπορεί επίσης να χρειαστεί να ανακαλύψετε σχέσεις που εισάγονται από άλλες προελεύσεις δεδομένων με τη μορφή pandas DataFrames.

Αυτό είναι το σημείο όπου η find_relationships συνάρτηση στην sempy.relationship εκπαιδευτική ενότητα μπαίνει στο παιχνίδι.

Η find_relationships συνάρτηση βοηθά τους επιστήμονες δεδομένων και τους επιχειρηματικούς αναλυτές να ανακαλύψουν πιθανές σχέσεις μέσα σε μια λίστα Pandas DataFrames.

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

Ο παρακάτω κώδικας δείχνει πώς μπορείτε να βρείτε σχέσεις σε ένα dataFrame pandas:

from sempy.relationships import find_relationships

tables = [df_sales, df_products, df_customers]

find_relationships(tables)

Στον προηγούμενο κώδικα, η find_relationships συνάρτηση καλείται με μια λίστα τριών Pandas DataFrames: df_sales, df_productsκαι df_customers. Η συνάρτηση επιστρέφει ένα DataFrame pandas με μία γραμμή ανά πιθανή σχέση, η οποία σας επιτρέπει να εξερευνήσετε και να αναλύσετε εύκολα τις σχέσεις μέσα στα δεδομένα σας.

Μπορείτε να προσαρμόσετε τη συνάρτηση καθορίζοντας ένα όριο κάλυψης, ένα όριο ομοιότητας ονόματος, μια λίστα σχέσεων που θα εξαιρεθούν και εάν θα συμπεριληφθούν σχέσεις πολλά-προς-πολλά.

Επικύρωση σχέσεων σε dataFrames pandas

Αφού εντοπίσετε πιθανές σχέσεις εντός των DataFrames pandas, χρησιμοποιώντας τη find_relationships συνάρτηση, είναι σημαντικό να επικυρώσετε αυτές τις σχέσεις και να εντοπίσετε τυχόν πιθανά προβλήματα ή ασυνέπειες. Αυτό είναι το σημείο όπου η list_relationship_violations συνάρτηση από την sempy.relationships εκπαιδευτική ενότητα μπαίνει στο παιχνίδι.

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

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

Ο παρακάτω κώδικας δείχνει πώς μπορείτε να βρείτε παραβιάσεις σχέσεων σε ένα dataFrame pandas:

from sempy.relationships import find_relationships, list_relationship_violations

tables = [df_sales, df_products, df_customers]
relationships = find_relationships(tables)

list_relationship_violations(tables, relationships)

Στον προηγούμενο κώδικα, η list_relationship_violations συνάρτηση καλείται με μια λίστα τριών pandas DataFrames (df_sales, df_productsκαι df_customers) και τις σχέσεις DataFrame που λαμβάνονται από τη find_relationships συνάρτηση. Η list_relationship_violations συνάρτηση επιστρέφει ένα dataFrame pandas με μία γραμμή ανά παραβίαση σχέσης, επιτρέποντάς σας να εντοπίζετε και να αντιμετωπίζετε εύκολα τυχόν προβλήματα στα δεδομένα σας.

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

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