Fabric Semantic Link è stato finalmente annunciato ed è disponibile per tutti. Il semantik link permette di accedere facilmente al modello semantico di Power BI utilizzando Python/R/Spark in un notebook in modo da poter arricchire/aumentare i report di Power BI con i dati provenienti da altri mondi come ad esempio quello della data science.
Con il collegamento semantico è possibile usare modelli semantici di Power BI all'interno di un progetto di data science per eseguire attività come analisi statistiche approfondite e modellazione predittiva con tecniche di machine learning. L'output può essere archiviato in OneLake utilizzando Apache Spark e inserito in Power BI utilizzando Direct Lake.
Il Semantic Link include una semplice libreria Python (sampy) che può essere utilizzata nel notebook Fabric per accedere a qualsiasi set di dati Power BI (ovvero modello semantico), incluse tutte le relazioni, i dati, le misure, le colonne calcolate, le gerarchie, DMV ed eseguire DAX rispetto nei notebook utilizzando Python o Spark.
#Configurazione libreria
!pip install semantic-link --q
import pandas as pd
import sempy.fabric as fabric
Alcuni esempi di utilizzo
Eseguire una misura di un modello semantico di power bi da un notebook spark in Fabric
import requests
import pandas as pd
import sempy.fabric as fabric
TotalSales= (fabric.evaluate_measure(workspace="Modelli-Demo",dataset = "FinancialAnalytics", measure='Total Sales'))
TotalSales
risultato è nell'immagine sottostante
Eseguire un codice DAX in un modello semantico di power bi da un notebook spark in Fabric
import requests
import pandas as pd
import sempy.fabric as fabric
fabric.evaluate_dax(workspace="Modelli-Demo",dataset = "FinancialAnalytics", dax_string="""EVALUATE SUMMARIZE('Sales Orders','Sales Orders'[OrderStatus])""")
Il risultato è nell'immagine sottostante
Oltre a comandi di eseguzione di comandi per ottenere dei dati è possibile anche eseguire l'aggiornamento dei dataset di power bi attraverso il seguente script.
import sempy.fabric as fabric
script = [
{
"table": "Sales Orders"
}
]
fabric.refresh_dataset(
workspace="Modelli-Demo",
dataset="FinancialAnalytics",
objects=script,
)
Qui trovate un set di interessanti notebook