Log Analytics と Excel を統合する
M クエリと Log Analytics API を使用して、Azure Monitor Log Analytics と Microsoft Excel を統合できます。 この統合により、特定の数のレコードと MB のデータを送信できるようになります。 これらの制限は、Azure portal のセクションにある Azure Monitor Log Analytics ワークスペースの制限に関するページに記載されています。
注意
Excel はローカル クライアント アプリケーションであるため、大量のデータ セットを処理する際のパフォーマンスと機能は、ローカルのハードウェアとソフトウェアの制限に影響されます。
前提条件
Log Analytics と Excel を統合するには、次のものが必要です。
- Excel ローカル クライアント アプリケーション。
- データが含まれる Log Analytics ワークスペース。 必要に応じて、データを Log Analytics ワークスペースに送信するために診断設定を作成します。
必要なアクセス許可
クエリを実行する Log Analytics ワークスペースに対し、Microsoft.OperationalInsights/workspaces/query/*/read
アクセス許可が必要です。これは、たとえば、Log Analytics 閲覧者組み込みロールによって提供されます。
Log Analytics で M クエリを作成する
通常どおり、Log Analytics でクエリを作成して実行します。 ユーザー インターフェイスでレコードの制限数に達しても心配はいりません。 ‘ago’ 関数や UI タイム ピッカーなどの相対日付を使用することをお勧めします。これにより、Excel で適切なデータ セットが更新されます。
クエリをエクスポートします。クエリとその結果に問題がなければ、Log Analytics の [エクスポート] メニューの下にある [Power BI へエクスポート (M Query)] メニュー選択を使用して M にクエリをエクスポートします。
このオプションを選択すると、Excel で使用できる M コードを含む .txt ファイルがダウンロードされます。
上のクエリは、次の M コードをエクスポートします。 この例のクエリでエクスポートされた M コードの例をこちらに示します。
/*
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
クエリを Excel に接続する
クエリをインポートするには、次のようにします。
Microsoft Excel を開きます。
リボンで、 [データ] メニューに移動します。 [データの取得] を選択します。 [その他のソース] から [空のクエリ] を選択します。
Power Query ウィンドウで、 [詳細エディター] を選択します。
詳細エディターのテキストを Log Analytics からエクスポートしたクエリに置き換えます。
[完了] を選択し、次に [Load and close]\(ロードして閉じる\) を選択します。 Excel で、Log analytics API を使用してクエリが実行され、結果セットが表示されます。
注意
レコード数が予想より少ない場合、結果の量は 61 MiB の制限を超える可能性があります。 クエリで project
または project-away
を使用して、列を必要なものに制限してみてください。
データの更新中
Excel から直接データを更新できます。 Excel リボンの [データ] メニュー グループで、 [更新] ボタンを選択します。
次のステップ
Excel と外部データ ソースの統合について詳しくは、「外部データ ソースからデータをインポートする (Power Query)」を参照してください。