Propagazione dei dati da modelli semantici
Quando si legge un modello semantico in un FabricDataFrame, le informazioni semantiche, ad esempio metadati e annotazioni del modello semantico, vengono automaticamente collegate a FabricDataFrame. Questo articolo illustra come la libreria SemPy Python mantiene le annotazioni collegate alle tabelle e alle colonne di un modello semantico.
Propagazione semantica per gli utenti pandas
La libreria SemPy Python fa parte della funzionalità di collegamento semantico e serve gli utenti pandas. SemPy supporta le operazioni che pandas consente di eseguire sui dati.
SemPy consente anche di propagare i dati semantici dai modelli semantici su cui si opera. Propagando i dati semantici, è possibile mantenere le annotazioni collegate a tabelle e colonne nel modello semantico quando si eseguono operazioni come sezionamento, unione e concatenamento.
È possibile creare una struttura dei dati FabricDataFrame in uno dei due modi seguenti:
È possibile leggere una tabella o l'output di una misura da un modello semantico in un FabricDataFrame.
Quando si legge da un modello semantico in un FabricDataFrame, i metadati di Power BI idratano o popolano automaticamente FabricDataFrame. In altre parole, FabricDataFrame mantiene le informazioni semantiche dalle tabelle o dalle misure del modello.
È possibile usare i dati in memoria per creare FabricDataFrame, esattamente come per i DataFrame pandas.
Quando si crea un FabricDataFrame da dati in memoria, è necessario specificare il nome di un modello semantico da cui FabricDataFrame può eseguire il pull delle informazioni sui metadati.
Il modo in cui SemPy mantiene i dati semantici varia a seconda di fattori come le operazioni eseguite e l'ordine dei FabricDataFrame su cui si opera.
Propagazione semantica con unione
Quando si uniscono due FabricDataFrame, l'ordine dei DataFrame determina il modo in cui SemPy propaga le informazioni semantiche.
Se entrambi i FabricDataFrame sono annotati, i metadati a livello di tabella del FabricDataFrame sinistro hanno la precedenza. La stessa regola si applica alle singole colonne; le annotazioni di colonna nel FabricDataFrame sinistro hanno la precedenza sulle annotazioni di colonna nel DataFrame destro.
Se viene annotato un solo FabricDataFrame, SemPy usa i suoi metadati. La stessa regola si applica alle singole colonne; SemPy usa le annotazioni di colonna presenti nel FabricDataFrame annotato.
Propagazione semantica con concatenazione
Quando si concatenano più FabricDataFrame, per ogni colonna SemPy copia i metadati dal primo FabricDataFrame che corrisponde al nome della colonna. Se sono presenti più corrispondenze e i metadati non sono uguali, SemPy genera un avviso.
È anche possibile propagare concatenazioni di FabricDataFrame con i normali DataFrame pandas posizionando prima FabricDataFrame.
Propagazione semantica per gli utenti di Spark
Il collegamento semantico connettore nativo Spark idrata (o popola) il dizionario di metadati di una colonna Spark. Attualmente, il supporto per la propagazione semantica è limitato e soggetto all'implementazione interna di Spark sulla propagazione delle informazioni dello schema. Ad esempio, l'aggregazione di colonne rimuove i metadati.
Contenuto correlato
- Riferimento per la classe FabricDataFrame di SemPy
- Introduzione al collegamento semantico di Python (SemPy)
- Esercitazione: Analizzare le dipendenze funzionali in un modello semantico di esempio
- Esplorare e convalidare i dati usando il collegamento semantico
- Esplorare e convalidare le relazioni nei modelli semantici