Azure Data Explorer (Kusto)
Sammendrag
Element | Bekrivelse |
---|---|
Utgivelsestilstand | Generell tilgjengelighet |
Produkter | Excel Power BI (semantiske modeller) Power BI (dataflyter) Stoff (Dataflyt gen2) Power Apps (dataflyter) Dynamics 365 Customer Insights |
Godkjenningstyper som støttes | Organisasjonskonto |
Funksjonsreferansedokumentasjon | — |
Merk
Noen funksjoner kan være til stede i ett produkt, men ikke andre på grunn av distribusjonsplaner og vertsspesifikke funksjoner.
Forutsetning
Et Azure-abonnement. Gå til Få gratis prøveversjon av Azure.
En organisasjonsmessig e-postkonto som er medlem av Microsoft Entra ID. Denne artikkelen bruker denne kontoen til å koble til hjelpeklyngeeksemplene i Azure Data Explorer.
Funksjoner som støttes
- Importer
- DirectQuery (semantiske Modeller for Power BI)
- Avanserte alternativer
- Begrens postnummer for spørringsresultat
- Begrens datastørrelse for spørringsresultat i byte
- Deaktiver avkorting av resultatsett
- Flere settsetninger
Koble til til Azure Data Explorer fra Power Query Desktop
Slik kobler du til Azure Data Explorer fra Power Query Desktop:
Velg Azure Data Explorer (Kusto) i hent dataopplevelsen. Hent dataopplevelsen i Power Query Desktop varierer mellom apper. Hvis du vil ha mer informasjon om Power Query Desktop, kan du få dataopplevelse for appen din ved å gå til Hvor for å hente data.
Angi navnet på Azure Data Explorer-klyngen i Azure Data Explorer (Kusto). I dette eksemplet kan du bruke til å få
https://help.kusto.windows.net
tilgang til hjelpeklyngen for eksempler. For andre klynger er URL-adressen i skjemaet https://< ClusterName.<>Region.kusto.windows.net>.Du kan også velge en database som ligger på klyngen du kobler til, og én av tabellene i databasen, eller en spørring som
StormEvents | take 1000
.Hvis du vil bruke eventuelle forhåndsalternativer, velger du alternativet og skriver inn dataene som skal brukes med dette alternativet. Mer informasjon: Koble til ved hjelp av avanserte alternativer
Merk
Du må kanskje rulle nedover for å vise alle de avanserte alternativene og valget for datatilkobling.
Velg enten import- eller DirectQuery-datatilkoblingsmodus (bare Power BI Desktop). Mer informasjon: Når du skal bruke import- eller direktespørringsmodus
Velg OK for å fortsette.
Hvis du ikke allerede har en tilkobling til klyngen, velger du Logg på. Logg på med en organisasjonskonto, og velg deretter Koble til.
Velg databaseinformasjonen du vil bruke, i Navigator, og velg deretter Last inn for å laste inn dataene eller Transformer data for å fortsette å transformere dataene i redigeringsprogrammet for Power Query. I dette eksemplet ble StormEvents valgt i Eksempel-databasen.
Koble til til Azure Data Explorer fra Power Query Online
Slik kobler du til Azure Data Explorer fra Power Query Online:
Velg Alternativet Azure Data Explorer (Kusto) i hent dataopplevelsen. Ulike apper har ulike måter å få tilgang til Power Query Online på for å få dataopplevelse. Hvis du vil ha mer informasjon om hvordan du får tilgang til Power Query Online, kan du få dataopplevelse fra appen din ved å gå til Hvor for å hente data.
Angi navnet på Azure Data Explorer-klyngen i Koble til til datakilden. I dette eksemplet kan du bruke til å få
https://help.kusto.windows.net
tilgang til hjelpeklyngen for eksempler. For andre klynger er URL-adressen i skjemaet https://< ClusterName.<>Region.kusto.windows.net>.Du kan også velge en database som ligger på klyngen du kobler til, og én av tabellene i databasen, eller en spørring som
StormEvents | take 1000
.Hvis du vil bruke eventuelle forhåndsalternativer, velger du alternativet og skriver inn dataene som skal brukes med dette alternativet. Mer informasjon: Koble til ved hjelp av avanserte alternativer
Velg om nødvendig den lokale datagatewayen i datagatewayen.
Hvis du ikke allerede har en tilkobling til klyngen, velger du Logg på. Logg på med en organisasjonskonto.
Når du er logget på, velger du Neste.
Velg databaseinformasjonen du vil bruke, på Velg data-siden , og velg deretter Transformer data eller Neste for å fortsette å transformere dataene i redigeringsprogrammet for Power Query. I dette eksemplet ble StormEvents valgt i Eksempel-databasen.
Koble til ved hjelp av avanserte alternativer
Både Power Query Desktop og Power Query Online inneholder et sett med avanserte alternativer som du kan legge til i spørringen om nødvendig.
Tabellen nedenfor viser alle de avanserte alternativene du kan angi i Power Query Desktop og Power Query Online.
Avansert alternativ | Bekrivelse |
---|---|
Begrens postnummer for spørringsresultat | Maksimalt antall poster som skal returneres i resultatet. |
Begrens datastørrelse for spørringsresultat i byte | Den maksimale datastørrelsen i byte som skal returneres i resultatet. |
Deaktiver avkorting av resultatsett | Aktiver eller deaktiver resultatavkorting ved hjelp av forespørselsalternativet notruncation . |
Flere settsetninger | Angir spørringsalternativer for varigheten av spørringen. Spørringsalternativer kontrollerer hvordan en spørring utfører og returnerer resultater. Flere Sett-setninger kan skilles med semikolon. |
Hvis du vil ha informasjon om flere avanserte alternativer som ikke er tilgjengelige i Brukergrensesnittet for Power Query, kan du gå til konfigurering av koblingsalternativer for Azure Data Explorer i en M-spørring.
Når du skal bruke import- eller direktespørringsmodus
I importmodus flyttes data til Power BI. I DirectQuery-modus blir data spurt direkte fra klyngen.
Bruk importmodus når:
- Datasettet er lite.
- Du trenger ikke nær sanntidsdata.
- Dataene er allerede aggregert, eller du utfører aggregasjon i Kusto.
Bruk DirectQuery-modus når:
- Datasettet er veldig stort.
- Du trenger data i nær sanntid.
Hvis du vil lære mer om hvordan du bruker DirectQuery, kan du gå til Om å bruke DirectQuery i Power BI.
Tips for å bruke Azure Data Explorer-koblingen til å spørre etter data
Avsnittene nedenfor inneholder tips og triks for bruk av Kusto-spørringsspråk med Power Query.
Komplekse spørringer i Power BI
Komplekse spørringer uttrykkes lettere i Kusto enn i Power Query. De bør implementeres som Kusto-funksjoner og aktiveres i Power BI. Denne metoden kreves når du bruker DirectQuery med let
setninger i Kusto-spørringen. Siden Power BI føyer sammen to spørringer og let
setninger ikke kan brukes med operatoren join
, kan det oppstå syntaksfeil. Lagre derfor hver del av sammenføyningen som en Kusto-funksjon, og la Power BI bli med i disse to funksjonene sammen.
Slik simulerer du en relativ dato/klokkeslett-operator
Power Query inneholder ikke en relativ dato/klokkeslett-operator, for eksempel ago()
.
Hvis du vil simulere ago()
, kan du bruke en kombinasjon av Funksjonene DateTime.FixedLocalNow og #duration Power Query M.
I stedet for denne spørringen ved hjelp av operatoren ago()
:
StormEvents | where StartTime > (now()-5d)
StormEvents | where StartTime > ago(5d)
Bruk følgende tilsvarende spørring:
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", []),
#"Filtered Rows" = Table.SelectRows(Source, each [StartTime] > (DateTime.FixedLocalNow()-#duration(5,0,0,0)))
in
#"Filtered Rows"
Konfigurere koblingsalternativer for Azure Data Explorer i en M-spørring
Du kan konfigurere alternativene for Azure Data Explorer-koblingen fra avansert redigeringsprogram for Power Query på M-spørringsspråket. Ved hjelp av disse alternativene kan du kontrollere den genererte spørringen som sendes til Azure Data Explorer-klyngen.
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [<options>])
in
Source
Du kan bruke ett av følgende alternativer i M-spørringen:
Alternativ | Eksempel | Bekrivelse |
---|---|---|
MaxRows | [MaxRows=300000] |
Legger til den angitte truncationmaxrecords setningen i spørringen. Overstyrer standard maksimalt antall poster en spørring kan returnere til anroperen (avkorting). |
Maxsize | [MaxSize=4194304] |
Legger til den angitte truncationmaxsize setningen i spørringen. Overstyrer den maksimale standard datastørrelsen som en spørring har tillatelse til å gå tilbake til anroperen (avkorting). |
NoTruncate | [NoTruncate=true] |
Legger til den angitte notruncation setningen i spørringen. Aktiverer undertrykking av avkorting av spørringsresultatene som returneres til anroperen. |
AdditionalSetStatements | [AdditionalSetStatements="set query_datascope=hotcache"] |
Legger til de angitte settsetningene i spørringen. Disse setningene brukes til å angi spørringsalternativer for varigheten av spørringen. Spørringsalternativer kontrollerer hvordan en spørring utfører og returnerer resultater. |
CaseInsensitive | [CaseInsensitive=true] |
Gjør koblingen til å generere spørringer som skiller mellom store og små bokstaver – spørringer bruker operatoren =~ i stedet for operatoren == når du sammenligner verdier. |
ForceUseContains | [ForceUseContains=true] |
Gjør at koblingen genererer spørringer som brukes contains i stedet for standard has når du arbeider med tekstfelt. Selv has om det er mye mer performant, håndterer det ikke delstrenger. Hvis du vil ha mer informasjon om forskjellen mellom de to operatorene, kan du gå til strengoperatorer. |
Timeout | [Timeout=#duration(0,10,0,0)] |
Konfigurerer både klient- og servertidsavbruddet for spørringen til den angitte varigheten. |
ClientRequestIdPrefix | [ClientRequestIdPrefix="MyReport"] |
Konfigurerer et ClientRequestId-prefiks for alle spørringer som sendes av koblingen. Dette gjør at spørringene kan identifiseres i klyngen som kommer fra en bestemt rapport og/eller datakilde. |
Merk
Du kan kombinere flere alternativer sammen for å nå den nødvendige virkemåten: [NoTruncate=true, CaseInsensitive=true]
Nå Kusto-spørringsgrenser
Kusto-spørringer returnerer som standard opptil 500 000 rader eller 64 MB, som beskrevet i spørringsgrenser. Du kan overstyre disse standardene ved hjelp av avanserte alternativer i tilkoblingsvinduet for Azure Data Explorer (Kusto ):
Disse alternativene utsteder angitte setninger med spørringen for å endre standard spørringsgrenser :
- Begrens postnummer for spørringsresultat genererer et
set truncationmaxrecords
- Begrens datastørrelse for spørringsresultat i byte genererer en
set truncationmaxsize
- Deaktiver avkorting av resultatsett genererer en
set notruncation
Skille mellom store og små bokstaver
Koblingen genererer som standard spørringer som bruker operatoren skiller mellom store og små bokstaver ==
når strengverdier sammenlignes. Hvis dataene ikke skilles mellom store og små bokstaver, er ikke dette den ønskede virkemåten. Hvis du vil endre den genererte spørringen, bruker du koblingsalternativet CaseInsensitive
:
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [CaseInsensitive=true]),
#"Filtered Rows" = Table.SelectRows(Source, each [State] == "aLaBama")
in
#"Filtered Rows"
Bruke spørringsparametere
Du kan bruke spørringsparametere til å endre spørringen dynamisk.
Bruke en spørringsparameter i spørringstrinnene
Du kan bruke en spørringsparameter i et hvilket som helst spørringstrinn som støtter den. Filtrer for eksempel resultatene basert på verdien til en parameter. I dette eksemplet velger du rullegardinmenyen på høyre side av State
kolonnen i redigeringsprogrammet for Power Query, velger Tekstfiltre>er lik, og deretter velger du ALABAMA under Behold rader der Delstat.
Gi parametere til en Azure Data Explorer-funksjon
Kusto-funksjoner er en flott måte å vedlikeholde komplekse KQL-spørringer (Kusto Query Language). Vi anbefaler at du bruker funksjoner i stedet for å bygge inn KQL i Power Query. Den største fordelen med å bruke funksjonen er at logikken opprettholdes én gang i et miljø som er enkelt å opprette og teste.
Funksjoner kan også motta parametere og dermed gi Power BI-brukeren mye fleksibilitet. Power BI har mange måter å dele dataene på. Men alle filtre og slicere legges til etter den opprinnelige KQL, og i mange tilfeller vil du bruke filtrering på et tidlig stadium i spørringen. Bruk av funksjoner og dynamiske parametere er en svært effektiv måte å tilpasse den endelige spørringen på.
Opprette en funksjon
Du kan opprette følgende funksjon i en Azure Data Explorer-klynge som du har tilgang til, inkludert en gratis klynge. Funksjonen returnerer tabellen SalesTable
fra hjelpeklyngen, filtrert for salgstransaksjoner som er større enn eller mindre enn et tall fra rapportbrukeren.
.create-or-alter function LargeOrSmallSales(Cutoff:long,Op:string=">")
{
cluster("help").database("ContosoSales").SalesTable
| where (Op==">" and SalesAmount >= Cutoff) or (Op=="<" and SalesAmount <= Cutoff)
}
Når du har opprettet funksjonen, kan du teste den ved hjelp av:
LargeOrSmallSales(2000,">")
| summarize Sales=tolong(sum(SalesAmount)) by Country
Du kan også teste den ved hjelp av:
LargeOrSmallSales(20,"<")
| summarize Sales=tolong(sum(SalesAmount)) by Country
Bruke funksjonen i Power BI
Koble til til klyngen der du opprettet funksjonen.
Velg funksjonen fra listen over objekter i Power Query-navigatøren. Koblingen analyserer parameterne og presenterer dem over dataene på høyre side av navigatøren.
Legg til verdier i parameterne, og velg deretter Bruk.
Når forhåndsvisningen vises, velger du Transformer data.
Når du er i redigeringsprogrammet for Power Query, oppretter du to parametere, én for cutoff-verdien og én for operatoren.
Gå tilbake til spørringen
LargeOrSmallSales
, og erstatt verdiene med spørringsparameterne på formellinjen.Opprett to statiske tabeller (Enter Data) fra redigeringsprogrammet for å angi alternativer for de to parameterne. For cutoff kan du opprette en tabell med verdier som 10, 50, 100, 200, 500, 1000, 2000.
Op
For , en tabell med to tekstverdier<
og>
.De to kolonnene i tabellene må være bundet til spørringsparameterne ved hjelp av valget Bind til parameter .
Den endelige rapporten inkluderer slicere for de to statiske tabellene og eventuelle visualobjekter fra sammendragssalget.
Basistabellen filtreres først og aggregeres.
Bruke en spørringsparameter i tilkoblingsdetaljene
Bruk en spørringsparameter til å filtrere informasjon i spørringen og optimalisere spørringsytelsen.
I avansert redigering:
Finn følgende del av spørringen:
Kilde = AzureDataExplorer.Contents("<Cluster>", "<Database>", "<Query>", [])
Eksempel:
Source = AzureDataExplorer.Contents("Help", "Samples", "StormEvents | where State == 'ALABAMA' | take 100", [])
Sett inn en spørringsparameter i kustospørringsspråkspørringen (KQL).
Hvis du limer inn en KQL-spørring direkte i tilkoblingsdialogboksen, vil spørringen være en del av kildetrinnet i Power Query. Du kan bygge inn parametere som en del av spørringen ved hjelp av avansert redigeringsprogram eller når du redigerer kildesetningen på formellinjen. En eksempelspørring kan være
StormEvents | where State == ' " & State & " ' | take 100
.State
er en parameter, og i kjøretid vil spørringen være:StormEvents | where State == 'ALABAMA' | take 100
Hvis spørringen inneholder anførselstegn, koder du dem riktig. Følgende spørring i KQL:
"StormEvents | where State == "ALABAMA" | take 100"
vises i avansert redigering som følger med to anførselstegn:
"StormEvents | where State == ""ALABAMA"" | take 100"
Hvis du bruker en parameter, for eksempel
State
, bør den erstattes med følgende spørring, som inneholder tre anførselstegn:"StormEvents | where State == """ & State & """ | take 100"
Bruk Value.NativeQuery for Azure Data Explorer-funksjoner
Hvis du vil bruke en Azure Data Explorer-funksjon som ikke støttes i Power Query, bruker du metoden Value.NativeQuery i Power Query M. Denne metoden setter inn et kusto-spørringsspråkfragment i den genererte spørringen, og kan også brukes til å gi deg mer kontroll over den kjørede spørringen.
Følgende eksempel viser hvordan du bruker percentiles
funksjonen i Azure Data Explorer:
let
StormEvents = AzureDataExplorer.Contents(DefaultCluster, DefaultDatabase){[Name = DefaultTable]}[Data],
Percentiles = Value.NativeQuery(StormEvents, "| summarize percentiles(DamageProperty, 50, 90, 95) by State")
in
Percentiles
Ikke bruk Power BI-tidsplanlegger for dataoppdatering til å utstede kontrollkommandoer til Kusto
Power BI inkluderer en tidsplan for dataoppdatering som med jevne mellomrom kan utstede spørringer mot en datakilde. Denne mekanismen bør ikke brukes til å planlegge kontrollkommandoer til Kusto fordi Power BI antar at alle spørringer er skrivebeskyttet.