Esplora dati di Azure (Kusto)
Riepilogo
Articolo | Descrizione |
---|---|
Stato di rilascio | Disponibilità generale |
Prodotti | Excel Power BI (modelli semantici) Power BI (flussi di dati) Infrastruttura (Dataflow Gen2) Power Apps (flussi di dati) Dynamics 365 per Customer Insights |
Tipi di autenticazione supportati | Account dell'organizzazione |
Documentazione di riferimento sulle funzioni | — |
Nota
Alcune funzionalità possono essere presenti in un prodotto, ma non altre a causa di pianificazioni di distribuzione e funzionalità specifiche dell'host.
Prerequisiti
Una sottoscrizione di Azure. Vedere Ottenere una versione di valutazione gratuita di Azure.
Un account di posta elettronica aziendale membro di Microsoft Entra ID. Questo articolo usa questo account per connettersi agli esempi di cluster della Guida di Azure Esplora dati.
Capacità supportate
- Import
- DirectQuery (modelli semantici di Power BI)
- Opzioni avanzate
- Limitare il numero di record dei risultati della query
- Limitare le dimensioni dei dati dei risultati della query in byte
- Disabilitare il troncamento del set di risultati
- Istruzioni set aggiuntive
Connessione ad Azure Esplora dati da Power Query Desktop
Per connettersi ad Azure Esplora dati da Power Query Desktop:
Selezionare Azure Esplora dati (Kusto) nell'esperienza di recupero dei dati. L'esperienza di recupero dei dati in Power Query Desktop varia a seconda delle app. Per altre informazioni sull'esperienza dati di Power Query Desktop per l'app, vedere Dove ottenere i dati.
In Azure Esplora dati (Kusto) specificare il nome del cluster Esplora dati di Azure. Per questo esempio, usare
https://help.kusto.windows.net
per accedere al cluster della Guida di esempio. Per altri cluster, l'URL è nel formato https://< ClusterName.<>Region.kusto.windows.net>.È anche possibile selezionare un database ospitato nel cluster a cui ci si connette e una delle tabelle nel database oppure una query come
StormEvents | take 1000
.Se si vogliono usare opzioni avanzate, selezionare l'opzione e immettere i dati da usare con tale opzione. Altre informazioni: Connessione usando le opzioni avanzate
Nota
Potrebbe essere necessario scorrere verso il basso per visualizzare tutte le opzioni avanzate e la selezione della connettività dei dati.
Selezionare la modalità di connettività dati Importa o DirectQuery (solo Power BI Desktop). Altre informazioni: Quando usare la modalità Importazione o Query diretta
Seleziona OK per continuare.
Se non si ha già una connessione al cluster, selezionare Accedi. Accedere con un account aziendale e quindi selezionare Connetti.
In Strumento di navigazione selezionare le informazioni sul database desiderate, quindi selezionare Carica per caricare i dati o Trasforma dati per continuare a trasformare i dati nell'editor di Power Query. In questo esempio StormEvents è stato selezionato nel database Samples.
Connessione ad Azure Esplora dati da Power Query Online
Per connettersi ad Azure Esplora dati da Power Query Online:
Selezionare l'opzione Azure Esplora dati (Kusto) nell'esperienza di recupero dei dati. Diverse app hanno diversi modi per ottenere l'esperienza dei dati in Power Query Online. Per altre informazioni su come accedere a Power Query Online, vedere Dove ottenere i dati dall'app.
In Connessione all'origine dati specificare il nome del cluster Esplora dati di Azure. Per questo esempio, usare
https://help.kusto.windows.net
per accedere al cluster della Guida di esempio. Per altri cluster, l'URL è nel formato https://< ClusterName.<>Region.kusto.windows.net>.È anche possibile selezionare un database ospitato nel cluster a cui ci si connette e una delle tabelle nel database oppure una query come
StormEvents | take 1000
.Se si vogliono usare opzioni avanzate, selezionare l'opzione e immettere i dati da usare con tale opzione. Altre informazioni: Connessione usando le opzioni avanzate
Se necessario, selezionare il gateway dati locale in Gateway dati.
Se non si ha già una connessione al cluster, selezionare Accedi. Accedere con un account aziendale.
Dopo aver eseguito l'accesso, selezionare Avanti.
Nella pagina Scegli dati selezionare le informazioni sul database desiderate, quindi selezionare Trasforma dati oppure Avanti per continuare a trasformare i dati nell'editor di Power Query. In questo esempio StormEvents è stato selezionato nel database Samples.
Connessione con opzioni avanzate
Power Query Desktop e Power Query Online offrono un set di opzioni avanzate che è possibile aggiungere alla query, se necessario.
La tabella seguente elenca tutte le opzioni avanzate che è possibile impostare in Power Query Desktop e Power Query Online.
Opzione Avanzate | Descrizione |
---|---|
Limitare il numero di record dei risultati della query | Numero massimo di record da restituire nel risultato. |
Limitare le dimensioni dei dati dei risultati della query in byte | Dimensione massima dei dati in byte da restituire nel risultato. |
Disabilitare il troncamento del set di risultati | Abilitare o disabilitare il troncamento dei risultati usando l'opzione notruncation di richiesta. |
Istruzioni Set aggiuntive | Imposta le opzioni di query per la durata della query. Le opzioni della query controllano come una query viene eseguita e restituisce i risultati. È possibile separare più istruzioni Set da punto e virgola. |
Per informazioni sulle opzioni avanzate aggiuntive non disponibili nell'interfaccia utente di Power Query, vedere Configuring Azure Esplora dati connector options in an M Query (Configurazione delle opzioni del connettore di Azure Esplora dati in una query M).
Quando usare la modalità Importazione o Query diretta
In modalità importazione i dati vengono spostati in Power BI. In modalità DirectQuery, i dati vengono sottoposti a query direttamente dal cluster.
Usare la modalità importazione quando:
- Il set di dati è di piccole dimensioni.
- Non sono necessari dati quasi in tempo reale.
- I dati sono già aggregati o si eseguono aggregazioni in Kusto.
Usare la modalità DirectQuery quando:
- Il set di dati è molto grande.
- Sono necessari dati quasi in tempo reale.
Per altre informazioni sull'uso di DirectQuery, vedere Informazioni sull'uso di DirectQuery in Power BI.
Suggerimenti per l'uso del connettore Esplora dati di Azure per eseguire query sui dati
Le sezioni seguenti includono suggerimenti e consigli per l'uso del linguaggio di query Kusto con Power Query.
Query complesse in Power BI
Le query complesse sono più facilmente espresse in Kusto rispetto a Power Query. Devono essere implementati come funzioni Kusto e richiamati in Power BI. Questo metodo è obbligatorio quando si usa DirectQuery con let
istruzioni nella query Kusto. Poiché Power BI unisce due query e let
le istruzioni non possono essere usate con l'operatore join
, potrebbero verificarsi errori di sintassi. Di conseguenza, salvare ogni parte del join come funzione Kusto e consentire a Power BI di unire queste due funzioni.
Come simulare un operatore di data e ora relativa
Power Query non contiene un operatore di data e ora relativa , ago()
ad esempio .
Per simulare ago()
, usare una combinazione di funzioni DateTime.FixedLocalNow e #duration di Power Query M.
Anziché questa query usando l'operatore ago()
:
StormEvents | where StartTime > (now()-5d)
StormEvents | where StartTime > ago(5d)
Usare la query equivalente seguente:
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", []),
#"Filtered Rows" = Table.SelectRows(Source, each [StartTime] > (DateTime.FixedLocalNow()-#duration(5,0,0,0)))
in
#"Filtered Rows"
Configurazione delle opzioni del connettore Esplora dati di Azure in una query M
È possibile configurare le opzioni del connettore azure Esplora dati dall'editor avanzato di Power Query nel linguaggio di query M. Usando queste opzioni, è possibile controllare la query generata inviata al cluster di azure Esplora dati.
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [<options>])
in
Source
È possibile usare una delle opzioni seguenti nella query M:
Nota
È possibile combinare più opzioni per raggiungere il comportamento richiesto: [NoTruncate=true, CaseInsensitive=true]
Raggiungimento dei limiti delle query Kusto
Per impostazione predefinita, le query Kusto restituiscono fino a 500.000 righe o 64 MB, come descritto in Limiti delle query. È possibile eseguire l'override di queste impostazioni predefinite usando le opzioni avanzate nella finestra di connessione di Azure Esplora dati (Kusto):
Queste opzioni rilasciano istruzioni set con la query per modificare i limiti di query predefiniti:
- Limitare il numero di record dei risultati della query genera un
set truncationmaxrecords
- Limitare le dimensioni dei dati dei risultati della query in byte genera un
set truncationmaxsize
- Disabilitare il troncamento del set di risultati genera un
set notruncation
Distinzione tra maiuscole e minuscole
Per impostazione predefinita, il connettore genera query che usano l'operatore con distinzione tra maiuscole e minuscole ==
durante il confronto dei valori stringa. Se i dati non fanno distinzione tra maiuscole e minuscole, questo non è il comportamento desiderato. Per modificare la query generata, usare l'opzione CaseInsensitive
connettore:
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [CaseInsensitive=true]),
#"Filtered Rows" = Table.SelectRows(Source, each [State] == "aLaBama")
in
#"Filtered Rows"
Uso dei parametri di query
È possibile usare i parametri di query per modificare la query in modo dinamico.
Usare un parametro di query nei passaggi della query
È possibile usare un parametro di query in qualsiasi passaggio di query che lo supporti. Ad esempio, filtrare i risultati in base al valore di un parametro. In questo esempio selezionare il menu a discesa sul lato destro della State
colonna nell'editor di Power Query, selezionare Filtri>di testo uguale a , quindi selezionare ALABAMA in Mantieni righe in 'Stato'.
Fornire parametri a una funzione di Esplora dati di Azure
Le funzioni Kusto sono un ottimo modo per gestire query di Linguaggio di query Kusto complesse (KQL). È consigliabile usare funzioni invece di incorporare KQL in Power Query. Il vantaggio principale dell'uso della funzione è che la logica viene mantenuta una sola volta in un ambiente facile da creare e testare.
Le funzioni possono anche ricevere parametri e quindi aggiungere molta flessibilità all'utente di Power BI. Power BI offre molti modi per sezionare i dati. Tuttavia, tutti i filtri e i filtri dei dati vengono aggiunti dopo il KQL originale e in molti casi si vuole usare il filtro in una fase iniziale della query. L'uso di funzioni e parametri dinamici è un modo molto efficace per personalizzare la query finale.
Creazione di una funzione
È possibile creare la funzione seguente in qualsiasi cluster di Azure Esplora dati a cui si ha accesso, incluso un cluster gratuito. La funzione restituisce la tabella SalesTable
dal cluster della Guida, filtrata per le transazioni di vendita maggiore o minore di un numero fornito dall'utente del report.
.create-or-alter function LargeOrSmallSales(Cutoff:long,Op:string=">")
{
cluster("help").database("ContosoSales").SalesTable
| where (Op==">" and SalesAmount >= Cutoff) or (Op=="<" and SalesAmount <= Cutoff)
}
Dopo aver creato la funzione, è possibile testarla usando:
LargeOrSmallSales(2000,">")
| summarize Sales=tolong(sum(SalesAmount)) by Country
È anche possibile testarlo usando:
LargeOrSmallSales(20,"<")
| summarize Sales=tolong(sum(SalesAmount)) by Country
Uso della funzione in Power BI
Connessione al cluster in cui è stata creata la funzione.
Nello strumento di spostamento di Power Query selezionare la funzione dall'elenco di oggetti. Il connettore analizza i parametri e li presenta sopra i dati sul lato destro dello strumento di navigazione.
Aggiungere valori ai parametri e quindi selezionare Applica.
Dopo aver visualizzato l'anteprima, selezionare Trasforma dati.
Una volta nell'editor di Power Query, creare due parametri, uno per il valore cutoff e uno per l'operatore.
Tornare alla
LargeOrSmallSales
query e sostituire i valori con i parametri di query nella barra della formula.Nell'editor creare due tabelle statiche (Immettere dati) per fornire opzioni per i due parametri. Per il cutoff, è possibile creare una tabella con valori come 10, 50, 100, 200, 500, 1000, 2000.
Op
Per , una tabella con due valori<
text e>
.Le due colonne nelle tabelle devono essere associate ai parametri di query usando la selezione associa a parametro .
Il report finale includerà i filtri dei dati per le due tabelle statiche ed eventuali oggetti visivi delle vendite di riepilogo.
La tabella di base viene filtrata prima e quindi aggregata.
Uso di un parametro di query nei dettagli della connessione
Usare un parametro di query per filtrare le informazioni nella query e ottimizzare le prestazioni delle query.
In Editor avanzato:
Trovare la sezione seguente della query:
Source = AzureDataExplorer.Contents("<Cluster>", "<Database>", "<Query>", [])
Ad esempio:
Source = AzureDataExplorer.Contents("Help", "Samples", "StormEvents | where State == 'ALABAMA' | take 100", [])
Inserire un parametro di query nella query Linguaggio di query Kusto (KQL).
Se si incolla una query KQL direttamente nella finestra di dialogo di connessione, la query farà parte del passaggio di origine in Power Query. È possibile incorporare parametri come parte della query usando l'editor avanzato o quando si modifica l'istruzione di origine nella barra della formula. Una query di esempio può essere
StormEvents | where State == ' " & State & " ' | take 100
.State
è un parametro e in fase di esecuzione la query sarà:StormEvents | where State == 'ALABAMA' | take 100
Se la query contiene virgolette, codificarle correttamente. Ad esempio, la query seguente in KQL:
"StormEvents | where State == "ALABAMA" | take 100"
verrà visualizzato nel Editor avanzato come indicato di seguito con due virgolette:
"StormEvents | where State == ""ALABAMA"" | take 100"
Se si usa un parametro, ad esempio
State
, deve essere sostituito con la query seguente, che contiene tre virgolette:"StormEvents | where State == """ & State & """ | take 100"
Usare Value.NativeQuery per le funzionalità di Azure Esplora dati
Per usare una funzionalità di Azure Esplora dati non supportata in Power Query, usare il metodo Value.NativeQuery in Power Query M. Questo metodo inserisce un frammento di Linguaggio di query Kusto all'interno della query generata e può essere usato anche per fornire maggiore controllo sulla query eseguita.
L'esempio seguente illustra come usare la percentiles
funzione in Azure Esplora dati:
let
StormEvents = AzureDataExplorer.Contents(DefaultCluster, DefaultDatabase){[Name = DefaultTable]}[Data],
Percentiles = Value.NativeQuery(StormEvents, "| summarize percentiles(DamageProperty, 50, 90, 95) by State")
in
Percentiles
Non usare l'utilità di pianificazione dell'aggiornamento dati di Power BI per rilasciare comandi di controllo a Kusto
Power BI include un'utilità di pianificazione dell'aggiornamento dati che può eseguire periodicamente query su un'origine dati. Questo meccanismo non deve essere usato per pianificare i comandi di controllo in Kusto perché Power BI presuppone che tutte le query siano di sola lettura.