Jaa


Azure Data Explorer (Kusto)

Yhteenveto

Kohde Kuvaus
Julkaisutila Yleinen saatavuus
Tuotteet Excel
Power BI (semanttiset mallit)
Power BI (tietovuot)
Fabric (Tietovuo Gen2)
Power Apps (tietovuot)
Dynamics 365 Customer Insights
Tuetut todennustyypit Organisaation tili
Funktioiden viitedokumentaatio

Muistiinpano

Jotkin ominaisuudet voivat olla olemassa yhdessä tuotteessa, mutta ei toisissa käyttöönottoaikataulujen ja isäntäkohtaisten ominaisuuksien vuoksi.

Edellytykset

  • Azure-tilaus. Siirry kohtaan Hanki ilmainen Azure-kokeiluversio.

  • Organisaation sähköpostitili, joka on Microsoft Entra -tunnuksen jäsen. Tässä artikkelissa käytetään tätä tiliä yhteyden muodostamiseen Azure Data Explorerin apuklusterin malleihin.

Tuetut toiminnot

  • Tuo
  • DirectQuery (semanttiset Power BI -mallit)
  • Lisäasetukset
    • Rajoita kyselyn tuloksen tietuenumeroa
    • Rajoita kyselyn tulostietojen kokoa Tavuina
    • Poista tulosjoukon katkaisu käytöstä
    • Lisäjoukkolausekkeet

Näyttöyhteys Azure Data Exploreriin Power Query Desktopista

Yhteyden muodostaminen Azure Data Exploreriin Power Query Desktopista:

  1. Valitse Tietojen noutaminen -toiminnosta Azure Data Explorer (Kusto ). Power Query Desktopin Nouda tiedot -käyttökokemus vaihtelee sovellusten välillä. Lisätietoja Power Query Desktopista saat sovelluksen tietojen käyttökokemuksesta artikkelista Mistä tiedot noudataan.

  2. Anna Azure Data Explorer -klusterin nimi Azure Data Explorer -klusterissa. Tässä esimerkissä käytetään https://help.kusto.windows.net malliapuklusteria. Muiden klustereiden URL-osoite on muodossa https://< ClusterName.<>Region.kusto.windows.net>.

    Voit myös valita tietokannan, joka sijaitsee yhdistettävässä klusterissa, ja yhden tietokannan taulukoista tai kyselyn, kuten StormEvents | take 1000.

  3. Jos haluat käyttää ennakkoasetuksia, valitse -vaihtoehto ja anna siinä käytettävät tiedot. Lisätietoja: Näyttöyhteys lisäasetusten avulla

    Muistiinpano

    Joudut ehkä vierittämällä alaspäin, jotta näet kaikki lisäasetukset ja tietoyhteyden valinnan.

  4. Valitse joko tietojen tuonti- tai DirectQuery-yhteystila (vain Power BI Desktop). Lisätietoja: Milloin kannattaa käyttää tuontitilaa tai suoraa kyselytilaa?

  5. Jatka valitsemalla OK.

    Näyttökuva Azure Data Explorer (Kusto) -valintaikkunasta, jossa on annettu klusterin URL-osoite.

  6. Jos sinulla ei vielä ole yhteyttä klusteriin, valitse Kirjaudu sisään. Kirjaudu sisään organisaation tilillä ja valitse sitten Näyttöyhteys.

    Näyttökuva Azure Data Explorerin kirjautumisvalintaikkunasta, jossa organisaation tili on valmis kirjautumaan sisään.

  7. Valitse siirtymistoiminnossa haluamasi tietokantatiedot ja valitse sitten Lataa ladataksesi tiedot tai Muunna tiedot, jos haluat jatkaa tietojen muuntamista Power Query -editorissa. Tässä esimerkissä StormEvents valittiin Mallit-tietokannasta.

    NäyttökuvaSsa on Mallit-tietokannassa Navigator, joka sisältää StormEvents-tiedot.

Näyttöyhteys Azure Data Exploreriin Power Query Onlinesta

Yhteyden muodostaminen Azure Data Exploreriin Power Query Onlinesta:

  1. Valitse Azure Data Explorer (Kusto) -vaihtoehto Nouda tiedot -toiminnosta. Eri sovelluksilla on eri tapoja päästä Power Query Onlinen tietojen noutamiseen. Lisätietoja siitä, miten pääset Power Query Onlinen tietojen noutamiseen sovelluksestasi, on kohdassa Mistä tiedot noudataan.

    Näyttökuva Nouda tiedot -ikkunasta, jossa on korostettu Azure Data Explorer.

  2. Anna Näyttöyhteys tietolähteeseen -kohdassa Azure Data Explorer -klusterin nimi. Tässä esimerkissä käytetään https://help.kusto.windows.net malliapuklusteria. Muiden klustereiden URL-osoite on muodossa https://< ClusterName.<>Region.kusto.windows.net>.

    Voit myös valita tietokannan, joka sijaitsee yhdistettävässä klusterissa, ja yhden tietokannan taulukoista tai kyselyn, kuten StormEvents | take 1000.

    Näyttökuva Azure Data Explorerin (Kusto) Valitse tietolähde -sivusta, johon on syötetty klusterin URL-osoite.

  3. Jos haluat käyttää ennakkoasetuksia, valitse -vaihtoehto ja anna siinä käytettävät tiedot. Lisätietoja: Näyttöyhteys lisäasetusten avulla

  4. Valitse tarvittaessa paikallinen tietoyhdyskäytävä tietoyhdyskäytävästä.

  5. Jos sinulla ei vielä ole yhteyttä klusteriin, valitse Kirjaudu sisään. Kirjaudu sisään organisaation tilillä.

  6. Kun olet kirjautunut sisään, valitse Seuraava.

  7. Valitse Valitse tiedot -sivulla haluamasi tietokantatiedot ja valitse sitten Muunna tiedot tai Jatka tietojen muuntamista Power Query -editorissa. Tässä esimerkissä StormEvents valittiin Mallit-tietokannasta.

    Näyttökuva Valitse tieto -sivusta, joka sisältää StormEvents-tiedot Samples-tietokannassa.

Näyttöyhteys lisäasetusten avulla

Sekä Power Query Desktop että Power Query Online tarjoavat joukon lisäasetuksia, joita voit tarvittaessa lisätä kyselyäsi.

Seuraavassa taulukossa on luettelo kaikista lisäasetuksista, jotka voit määrittää Power Query Desktopissa ja Power Query Onlinessa.

Lisäasetus Kuvaus
Rajoita kyselyn tuloksen tietuenumeroa Tuloksessa palautettavien tietueiden enimmäismäärä.
Rajoita kyselyn tulostietojen kokoa Tavuina Tietojen enimmäiskoko tavuina, jotka palautetaan tuloksessa.
Poista tulosjoukon katkaisu käytöstä Ota tulos katkaisu käyttöön tai poista se käytöstä pyyntöasetuksella notruncation .
Lisäjoukkolausekkeet Määrittää kyselyn asetukset kyselyn keston ajaksi. Kyselyasetukset määrittävät, miten kysely suoritetaan, ja palauttavat tuloksia. Useita Joukko-lausekkeita voidaan erottaa puolipisteillä.

Lisätietoja lisäasetuksista, joita ei ole käytettävissä Power Queryn käyttöliittymässä, saat artikkelista Azure Data Explorer -yhdistimen asetusten määrittäminen M-kyselyssä.

Milloin kannattaa käyttää tuontitilaa tai suoraa kyselytilaa?

Tuontitilassa tiedot siirretään Power BI:hin. DirectQuery-tilassa tiedoille tehdään kysely suoraan klusterista.

Käytä tuontitilaa, kun:

  • Tietojoukkosi on pieni.
  • Et tarvitse lähes reaaliaikaisia tietoja.
  • Tiedot on jo koostettu tai suoritat koostamisen Kustossa.

Käytä DirectQuery-tilaa, kun:

  • Tietojoukkosi on erittäin suuri.
  • Tarvitset lähes reaaliaikaisia tietoja.

Lisätietoja DirectQueryn käyttämisestä on artikkelissa Tietoja DirectQueryn käytöstä Power BI:ssä.

Vinkit Tietojen kyselemiseen Azure Data Explorer -yhdistimen avulla

Seuraavissa osioissa on vinkkejä Kusto-kyselykielen käyttämiseen Power Queryn kanssa.

Monimutkaiset kyselyt Power BI:ssä

Monimutkaiset kyselyt ilmaistaan kustossa helpommin kuin Power Queryssa. Ne tulee panna täytäntöön Kusto-funktioina ja käynnistää Power BI:ssä. Tämä menetelmä on pakollinen, kun käytät DirectQueryä let ja lausekeita Kusto-kyselyssäsi. Koska Power BI liittää kaksi kyselyä, eikä let lausekkeita voi käyttää -operaattorin join kanssa, syntaksivirheitä voi ilmetä. Tallenna siis liitoksen jokainen osa Kusto-funktiona ja salli Power BI:n liittää nämä kaksi funktiota yhteen.

Suhteellisen päivämäärä-aikaoperaattorin simulointi

Power Query ei sisällä suhteellista päivämäärä-aika-operaattoria, kuten ago(). Simuloidaksesi ago()-toimintoa käytä DateTime.FixedLocalNow- ja #duration Power Query M -funktioiden yhdistelmää.

Tämän kyselyn sijaan käyttämällä -operaattoria ago() :

    StormEvents | where StartTime > (now()-5d)
    StormEvents | where StartTime > ago(5d)

Käytä seuraavaa vastaavaa kyselyä:

let
    Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", []),
    #"Filtered Rows" = Table.SelectRows(Source, each [StartTime] > (DateTime.FixedLocalNow()-#duration(5,0,0,0)))
in
    #"Filtered Rows"

Azure Data Explorer -yhdistimen asetusten määrittäminen M-kyselyssä

Voit määrittää Azure Data Explorer -liittimen asetukset M-kyselykielen Power Queryn laajennetusta editorista. Näiden asetusten avulla voit hallita luotua kyselyä, joka lähetetään Azure Data Explorer -klusteriin.

let
    Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [<options>])
in
    Source

Voit käyttää M-kyselyssäsi mitä tahansa seuraavista vaihtoehdoista:

Asetus Näyte Kuvaus
MaxRows [MaxRows=300000] Lisää määritetyn lausekkeen truncationmaxrecords kyselyyn. Ohittaa oletusarvoisen tietueiden enimmäismäärän, jonka kysely voi palauttaa soittajalle (katkaisu).
Enimmäissuuria [MaxSize=4194304] Lisää määritetyn lausekkeen truncationmaxsize kyselyyn. Ohittaa tietojen oletusarvoisen enimmäiskoon, jonka kysely saa palauttaa soittajalle (katkaisu).
NoTruncate [NoTruncate=true] Lisää määritetyn lausekkeen notruncation kyselyyn. Mahdollistaa kutsujalle palautettujen kyselytulosten katkaisun poistamisen.
AdditionalSetStatements [AdditionalSetStatements="set query_datascope=hotcache"] Lisää annetut joukkolausekkeet kyselyäsi. Näiden lausekkeiden avulla määritetään kyselyasetuksia kyselyn keston ajaksi. Kyselyasetukset määrittävät, miten kysely suoritetaan, ja palauttavat tuloksia.
CaseInsensitive [CaseInsensitive=true] Tekee liittimestä kyselyt, joiden kirjainkoko ei ole merkitsevä – kyselyt käyttävät =~ operaattoria -operaattorin == sijaan arvoja verrattaessa.
ForceUseContains [ForceUseContains=true] Luo liittimen luomaan kyselyjä, jotka käyttävät contains -oletusasetusten has sijaan tekstikenttiä käsiteltäessä. Vaikka has se on paljon tehokkaampi, se ei käsittele alimerkkijonuksia. Lisätietoja näiden kahden operaattorin eroista on merkkijono-operaattoreissa.
Timeout [Timeout=#duration(0,10,0,0)] Määrittää kyselyn sekä asiakkaan että palvelimen aikakatkaisun annettuun kestoon.
ClientRequestIdPrefix [ClientRequestIdPrefix="MyReport"] Määrittää ClientRequestId-etuliitteen kaikille liittimen lähettämille kyselyille. Tämän ansiosta kyselyt voidaan tunnistaa klusterissa tietystä raportista ja/tai tietolähteestä peräisin olevana.

Muistiinpano

Voit yhdistää useita vaihtoehtoja, jotta saavutetaan vaadittu toiminta: [NoTruncate=true, CaseInsensitive=true]

Kusto-kyselyrajoitusten saavuttaminen

Kusto-kyselyt palauttavat oletusarvoisesti enintään 500 000 riviä tai 64 Mt kyselyrajoitusten mukaan. Voit ohittaa nämä oletusarvot Azure Data Explorerin (Kusto) yhteysikkunan Lisäasetukset-toiminnolla:

Lisäasetukset.

Nämä asetukset antavat kyselyllesi asetusasetuksia , joilla voit muuttaa kyselyn oletusrajoituksia:

  • Kyselyn tuloksen tietuenumeron rajoittaminen luo set truncationmaxrecords
  • Kyselyn tulostietojen koon rajoittaminen Tavujen avulla luo set truncationmaxsize
  • Poista tulosjoukon katkaisu käytöstäset notruncation

Kirjainkoon merkitsevyys

Liitin luo oletusarvoisesti kyselyjä, joissa käytetään kirjainkokoa merkitsevä == operaattori merkkijonoarvoja verrattaessa. Jos tietojen kirjainkoolla ei ole merkitystä, tämä ei ole haluttu toiminta. Jos haluat muuttaa luotua kyselyä, käytä liitinasetusta CaseInsensitive :

let
    Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [CaseInsensitive=true]),
    #"Filtered Rows" = Table.SelectRows(Source, each [State] == "aLaBama")
in
    #"Filtered Rows"

Kyselyparametrien käyttäminen

Kyselyparametreilla voit muokata kyselyä dynaamisesti.

Kyselyparametrin käyttäminen kyselyn vaiheissa

Voit käyttää kyselyparametria missä tahansa sitä tukevassa kyselyvaiheessa. Voit esimerkiksi suodattaa tulokset parametrin arvon perusteella. Valitse tässä esimerkissä avattava valikko sarakkeen oikeasta reunasta State Power Query -editorissa, valitse Tekstisuodattimet>on yhtä suuri kuin ja valitse sitten ALABAMA Kohdassa Säilytä rivit, jossa 'Osavaltio'.

Suodata tulokset parametrin avulla.

Azure Data Explorer -funktion parametrien lisääminen

Kusto-funktiot ovat erinomainen tapa ylläpitää monimutkaisia Kusto Query Language (KQL) -kyselyitä. Suosittelemme käyttämään funktioita sen sijaan, että upotat KQL:n Power Queryen. Funktion suurin etu on, että logiikkaa ylläpidetään kerran ympäristössä, joka on helppo luoda ja testata.

Funktiot voivat myös vastaanottaa parametreja, mikä lisää Power BI -käyttäjälle paljon joustavuutta. Power BI:ssä on monia tapoja tietojen osittamiseen. Kaikki suodattimet ja osittajat kuitenkin lisätään alkuperäisen suorituskykyilmaisimen jälkeen, ja monissa tapauksissa kannattaa käyttää suodatusta kyselyn varhaisessa vaiheessa. Funktioiden ja dynaamisten parametrien käyttäminen on erittäin tehokas tapa mukauttaa lopullista kyselyä.

Funktion luominen

Voit luoda seuraavan funktion missä tahansa Azure Data Explorer -klusterissa, johon sinulla on käyttöoikeus, mukaan lukien ilmainen klusteri. Funktio palauttaa ohjeklusterista taulukon SalesTable , joka on suodatettu myyntitapahtumien mukaan, jotka ovat suurempia tai pienempiä kuin raportin käyttäjän antama luku.

.create-or-alter  function LargeOrSmallSales(Cutoff:long,Op:string=">")
{
    cluster("help").database("ContosoSales").SalesTable
    | where  (Op==">" and SalesAmount >= Cutoff) or (Op=="<"  and SalesAmount <= Cutoff)
}

Kun olet luonut funktion, voit testata sitä käyttämällä:

LargeOrSmallSales(2000,">")
| summarize Sales=tolong(sum(SalesAmount)) by Country

Voit myös testata sitä käyttämällä:

LargeOrSmallSales(20,"<")
| summarize Sales=tolong(sum(SalesAmount)) by Country
-funktion käyttäminen Power BI:ssä
  1. Näyttöyhteys klusteriin, jossa loit funktion.

  2. Valitse funktio Power Query -siirtymistoiminnon objektiluettelosta. Liitin analysoi parametrit ja esittää ne tietojen yläpuolella siirtymistoiminnon oikealla puolella.

    Näyttökuva, jossa Cutoff- ja Op-parametrit näkyvät siirtymistoiminnon tietojen yläpuolella.

  3. Lisää arvot parametreihin ja valitse sitten Käytä.

  4. Kun esikatselu tulee näkyviin, valitse Muunna tiedot.

  5. Kun olet Power Query -editorissa, luo kaksi parametria, yksi leikkausarvolle ja toinen operaattorille.

  6. Siirry takaisin LargeOrSmallSales kyselyyn ja korvaa arvot kaavarivin kyselyparametreilla.

    Näyttökuva LargeOrSmallSales-funktiolla, jossa painotetaan kaavarivin Cutoff_Param- ja Op_Param-parametreja.

  7. Luo editorissa kaksi staattista taulukkoa (Anna tiedot) kahden parametrin asetusten tarjoamiseksi. Voit luoda leikkautumiseen taulukon, jonka arvot ovat esimerkiksi 10, 50, 100, 200, 500, 1000, 2000. Taulukolle Op, jossa on kaksi Teksti-arvoa < ja >.

  8. Taulukoiden kaksi saraketta on sidottava kyselyparametreihin käyttämällä Sido parametriin -valintaa.

    Näyttökuva, jossa Op on sidottu Op_Param-parametriin.

Lopullinen raportti sisältää osittajat kahdelle staattiselle taulukolle ja kaikki visualisoinnit yhteenvetomyynnistä.

Näyttökuva Power BI:ssä, jossa näkyy Cutoff- ja Op-arvovalinnat taulukon vieressä.

Perustaulukko suodatetaan ensin ja koostetaan sitten.

Kyselyparametrin käyttäminen yhteyden tiedoissa

Kyselyparametrin avulla voit suodattaa kyselyn tietoja ja optimoida kyselyn suorituskyvyn.

Laajennettu editori:

  1. Etsi seuraava kyselyn osa:

    Lähde = AzureDataExplorer.Contents("<Cluster>", "<Database>", "<Query>", [])

    Esimerkkejä:

    Source = AzureDataExplorer.Contents("Help", "Samples", "StormEvents | where State == 'ALABAMA' | take 100", [])
    
  2. Lisää kyselyparametri Kusto Query Language (KQL) -kyselyyn.

    Jos liität KQL-kyselyn suoraan yhteysvalintaikkunaan, kysely on osa lähdevaihetta Power Queryssa. Voit upottaa parametreja osana kyselyä laajennetun editorin avulla tai muokattaessa lähdelauseketta kaavarivillä. Esimerkkikysely voisi olla StormEvents | where State == ' " & State & " ' | take 100. State on parametri, ja suoritusaikana kysely on:

    StormEvents | where State == 'ALABAMA' | take 100

  3. Jos kysely sisältää lainausmerkkejä, koodaa ne oikein. Esimerkiksi seuraava kysely KQL:ssä:

    "StormEvents | where State == "ALABAMA" | take 100"
    

    tulee näkyviin Laajennettu editori kahden lainausmerkin kanssa:

     "StormEvents | where State == ""ALABAMA"" | take 100"
    

    Jos käytät parametria, kuten State, se tulee korvata seuraavalla kyselyllä, joka sisältää kolme lainausmerkkiä:

    "StormEvents | where State == """ & State & """ | take 100"
    

Value.NativeQueryn käyttäminen Azure Data Explorerin ominaisuuksissa

Jos haluat käyttää Azure Data Explorer -ominaisuutta, jota ei tueta Power Queryssa, käytä Value.NativeQuery-menetelmää Power Query M:ssä. Tämä menetelmä lisää Kusto-kyselykielen osan luodun kyselyn sisään, ja sen avulla voit myös hallita suoritettua kyselyä paremmin.

Seuraavassa esimerkissä näytetään, miten voit käyttää -funktiota percentiles Azure Data Explorerissa:

let
    StormEvents = AzureDataExplorer.Contents(DefaultCluster, DefaultDatabase){[Name = DefaultTable]}[Data],
    Percentiles = Value.NativeQuery(StormEvents, "| summarize percentiles(DamageProperty, 50, 90, 95) by State")
in
    Percentiles

Älä käytä Power BI:n tietojen päivittämisen ajoitustoimintoa hallintakomentojen myöntämiseksi Kustolle

Power BI sisältää tietojen päivittämisen ajoitustoiminto, joka voi tehdä säännöllisiä kyselyjä tietolähteestä. Tätä mekanismia ei tule käyttää ohjausobjektien ajoittamiseen Kustolle, koska Power BI olettaa, että kaikki kyselyt ovat vain luku -tilassa.