Integrera Log Analytics och Excel

Du kan integrera Azure Monitor Log Analytics och Microsoft Excel med hjälp av M-frågan och Log Analytics-API:et. Med den här integreringen kan du skicka upp ett visst antal poster och MB data. Dessa gränser dokumenteras i Azure Monitor Log Analytics-arbetsytegränser i avsnittet Azure-portalen.

Kommentar

Eftersom Excel är ett lokalt klientprogram påverkar lokala maskin- och programvarubegränsningar dess prestanda och förmåga att bearbeta stora datamängder.

Förutsättningar

För att integrera Log Analytics och Excel behöver du:

Behörigheter som krävs

Du måste ha Microsoft.OperationalInsights/workspaces/query/*/read behörighet till de Log Analytics-arbetsytor som du frågar efter, till exempel den inbyggda rollen Log Analytics Reader.

Skapa din M-fråga i Log Analytics

  1. Skapa och kör din fråga i Log Analytics som vanligt. Oroa dig inte om du når begränsningen för antalet poster i användargränssnittet. Vi rekommenderar att du använder relativa datum , t.ex. funktionen "ago" eller UI-tidsväljaren, så att Excel uppdaterar rätt uppsättning data.

  2. Exportera fråga – När du är nöjd med frågan och dess resultat exporterar du frågan till M med hjälp av menyalternativet Exportera till Power BI (M-fråga) i Menyn Exportera :

    Screenshot of Log Analytics query with the data and export option.

Om du väljer det här alternativet laddas en .txt-fil som innehåller M-koden som du kan använda i Excel.

Frågan som visas ovan exporterar följande M-kod. Här är ett exempel på M-koden som exporteras för frågan i vårt exempel:

/*
The exported Power Query Formula Language (M Language ) can be used with Power Query in Excel
and Power BI Desktop.
For Power BI Desktop follow the instructions below: 
1) Download Power BI Desktop from https://powerbi.microsoft.com/desktop/
2) In Power BI Desktop select: 'Get Data' -> 'Blank Query'->'Advanced Query Editor'
3) Paste the M Language script into the Advanced Query Editor and select 'Done'
*/

let AnalyticsQuery =
let Source = Json.Document(Web.Contents("https://api.loganalytics.io/v1/workspaces/ddcfc599-cae0-48ee-9026-fffffffffffff/query", 
[Query=[#"query"="

Heartbeat 
| summarize dcount(ComputerIP) by bin(TimeGenerated, 1h)    
| render timechart
",#"x-ms-app"="OmsAnalyticsPBI",#"timespan"="P1D",#"prefer"="ai.response-thinning=true"],Timeout=#duration(0,0,4,0)])),
TypeMap = #table(
{ "AnalyticsTypes", "Type" }, 
{ 
{ "string",   Text.Type },
{ "int",      Int32.Type },
{ "long",     Int64.Type },
{ "real",     Double.Type },
{ "timespan", Duration.Type },
{ "datetime", DateTimeZone.Type },
{ "bool",     Logical.Type },
{ "guid",     Text.Type },
{ "dynamic",  Text.Type }
}),
DataTable = Source[tables]{0},
Columns = Table.FromRecords(DataTable[columns]),
ColumnsWithType = Table.Join(Columns, {"type"}, TypeMap , {"AnalyticsTypes"}),
Rows = Table.FromRows(DataTable[rows], Columns[name]), 
Table = Table.TransformColumnTypes(Rows, Table.ToList(ColumnsWithType, (c) => { c{0}, c{3}}))
in
Table
in AnalyticsQuery

Anslut fråga till Excel

Importera frågan.

  1. Öppna Microsoft Excel.

  2. Gå till menyn Data i menyfliksområdet. Välj Hämta data. Från andra källor väljer du tom fråga:

    Import from blank in Excel option

  3. I Power-frågefönstret väljer du Avancerad redigerare:

    Excel Advanced query editor

  4. Ersätt texten i den avancerade redigeraren med frågan som exporteras från Log Analytics:

    Creating a blank query

  5. Välj Klar och sedan Läs in och stäng. Excel kör frågan med hjälp av Log Analytics-API:et och resultatuppsättningen som sedan visas.

    Query results in Excel

Kommentar

Om antalet poster är mindre än förväntat kan resultatets volym överskrida gränsen på 61MiB. Prova att använda project eller project-away i frågan för att begränsa kolumnerna till den du behöver.

Uppdatera data

Du kan uppdatera dina data direkt från Excel. I menygruppen Data i menyfliksområdet Excel väljer du knappen Uppdatera.

Nästa steg

Mer information om Excels integreringar med externa datakällor finns i Importera data från externa datakällor (Power Query)