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


Συνδεσιμότητα Power BI με σημασιολογική σύνδεση

Η συνδεσιμότητα του Power BI βρίσκεται στον πυρήνα της σημασιολογικής σύνδεσης στο Microsoft Fabric. Αυτό το άρθρο περιγράφει τους τρόπους με τους οποίους η σημασιολογική σύνδεση παρέχει συνδεσιμότητα σε σημασιολογικά μοντέλα για τους χρήστες των οικοσυστημάτων Python pandas και Apache Spark.

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

  • Κωδικοποιήστε τη γνώση του τομέα και την επιχειρηματική λογική σε μετρήσεις του Power BI.
  • Δημιουργήστε αναφορές Power BI χρησιμοποιώντας σημασιολογικά μοντέλα.
  • Χρησιμοποιήστε αυτές τις αναφορές για να καθοδηγήσετε επιχειρηματικές αποφάσεις.

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

Η Σύνδεση σημασιολογίας προσφέρει συνδεσιμότητα στα εξής:

  • Το οικοσύστημα python pandas μέσω της βιβλιοθήκης SemPy Python.
  • Σημασιολογικά μοντέλα μέσω της εγγενούς σύνδεσης Spark που υποστηρίζει PySpark, Spark SQL, R και Scala.

Συνδεσιμότητα δεδομένων μέσω της βιβλιοθήκης SemPy Python για χρήστες pandas

Η βιβλιοθήκη SemPy Python αποτελεί μέρος της δυνατότητας σημασιολογίας σύνδεσης και εξυπηρετεί τους χρήστες pandas. Η λειτουργικότητα SemPy περιλαμβάνει την ανάκτηση δεδομένων από πίνακες, τον υπολογισμό μετρήσεων και την εκτέλεση ερωτημάτων και μετα-δεδομένων παραστάσεων ανάλυσης δεδομένων (DAX).

  • Για το Spark 3.4 και νεότερες εκδόσεις, η σημασιολογική σύνδεση είναι διαθέσιμη στον προεπιλεγμένο χρόνο εκτέλεσης όταν χρησιμοποιείτε το Fabric και δεν χρειάζεται να την εγκαταστήσετε.

  • Για το Spark 3.3 ή παρακάτω ή για ενημέρωση στην πιο πρόσφατη έκδοση της σημασιολογικής σύνδεσης, εκτελέστε την ακόλουθη εντολή:

    %pip install -U semantic-link
    

Το SemPy επεκτείνει επίσης τα pandas DataFrames με πρόσθετα μετα-δεδομένα που έχουν μεταδοθεί από την προέλευση δεδομένων Power BI. Αυτά τα μετα-δεδομένα περιλαμβάνουν:

  • Κατηγορίες δεδομένων Power BI:
    • Γεωγραφική: Διεύθυνση, τόπος, πόλη
    • Διεύθυνση URL: Διεύθυνση URL Web, διεύθυνση URL εικόνας
    • Γραμμικός κώδικας
  • Σχέσεις μεταξύ πινάκων
  • Ιεραρχίες

Η εγγενής σύνδεση σημασιολογίας Spark επιτρέπει στους χρήστες του Spark πρόσβαση σε πίνακες και μετρήσεις του Power BI. Η σύνδεση δεν βασίζεται στη γλώσσα και υποστηρίζει PySpark, Spark SQL, R και Scala.

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

Η ακόλουθη εντολή ρυθμίζει τις παραμέτρους του Spark για χρήση της εγγενούς σύνδεσης Power BI Spark για Spark SQL:

spark.conf.set("spark.sql.catalog.pbi", "com.microsoft.azure.synapse.ml.powerbi.PowerBICatalog")

# Optionally, configure the workspace using its ID
# Resolve workspace name to ID using fabric.resolve_workspace_id("My workspace")
# Replace 00000000-0000-0000-0000-000000000000 with your own workspace ID
# spark.conf.set("spark.sql.catalog.pbi.workspace, "00000000-0000-0000-0000-000000000000")

Η ακόλουθη εντολή παραθέτει όλους τους πίνακες σε ένα μοντέλο σημασιολογίας με την ονομασία Sales Dataset:

%%sql
SHOW TABLES FROM pbi.`Sales Dataset`

Η ακόλουθη εντολή εμφανίζει δεδομένα από τον Customer πίνακα στο μοντέλο σημασιολογίας Sales Dataset:

%%sql
SELECT * FROM pbi.`Sales Dataset`.Customer

Οι μετρήσεις Power BI είναι προσβάσιμες μέσω του εικονικού _Metrics πίνακα για τη γεφύρωση του σχεσιακού Spark SQL με πολυδιάστατο Power BI. Στο παρακάτω παράδειγμα, Total Revenue τα και Revenue Budget είναι μετρήσεις που ορίζονται στο Sales Dataset μοντέλο σημασιολογίας και οι άλλες στήλες είναι διαστάσεις. Οι συναρτήσεις συνάθροισης όπως AVG παραβλέπονται για μετρήσεις και υπάρχουν μόνο για να παρέχουν συνέπεια με την SQL.

Η σύνδεση υποστηρίζει κατηγόρημα προώθησης προς τα κάτω υπολογισμών, όπως Customer[State] in ('CA', 'WA') από παραστάσεις Spark στη μηχανή Power BI, για την ενεργοποίηση της χρήσης του βελτιστοποιημένες μηχανισμού Power BI.

SELECT
    `Customer[Country/Region]`,
    `Industry[Industry]`,
    AVG(`Total Revenue`),
    AVG(`Revenue Budget`)
FROM
    pbi.`Sales Dataset`.`_Metrics`
WHERE
    `Customer[State]` in ('CA', 'WA')
GROUP BY
    `Customer[Country/Region]`,
    `Industry[Industry]`

Αύξηση δεδομένων με μετρήσεις του Power BI

Η add_measure λειτουργία είναι μια ισχυρή δυνατότητα σημασιολογικής σύνδεσης που σας επιτρέπει να αυξάνετε δεδομένα με μετρήσεις από σημασιολογικά μοντέλα. Αυτή η λειτουργία είναι διαθέσιμη μόνο στη βιβλιοθήκη SemPy Python και δεν υποστηρίζεται στην εγγενή σύνδεση Spark. Για περισσότερες πληροφορίες σχετικά με τη add_measure μέθοδο, ανατρέξτε στο θέμα add_measure στην τεκμηρίωση της FabricDataFrame κλάσης.

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

# %pip and import only needs to be done once per notebook
%pip install semantic-link
from sempy.fabric import FabricDataFrame

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

df = FabricDataFrame({
        "Sales Agent": ["Agent 1", "Agent 1", "Agent 2"],
        "Customer[Country/Region]": ["US", "GB", "US"],
        "Industry[Industry]": ["Services", "CPG", "Manufacturing"],
    }
)

joined_df = df.add_measure(["Total Revenue", "Total Budget"], dataset="Sales Dataset")

Η add_measure μέθοδος κάνει τα παρακάτω βήματα:

  1. Επιλύει τα ονόματα στηλών στο FabricDataFrame στις διαστάσεις του Power BI. Η λειτουργία αγνοεί τυχόν ονόματα στηλών που δεν μπορούν να επιλυθούν εντός του συγκεκριμένου μοντέλου σημασιολογίας. Για περισσότερες πληροφορίες, ανατρέξτε στην υποστηριζόμενη σύνταξη DAX.
  2. Ορίζει στήλες group by , χρησιμοποιώντας τα ονόματα των στηλών που επιλύθηκαν.
  3. Υπολογίζει μία ή περισσότερες μετρήσεις στο group by επίπεδο.
  4. Φιλτράρει το αποτέλεσμα από τις υπάρχουσες γραμμές στο FabricDataFrame.