0% found this document useful (0 votes)
159 views

Power Bi Query

The document contains an M language script that queries log data from Azure and summarizes the results. It makes a request to the Azure management API, extracts the query results, and transforms the data into a typed table with the correct column names and data types. This allows the raw log data to be analyzed and summarized within Power BI.

Uploaded by

Leonardo Edgar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
159 views

Power Bi Query

The document contains an M language script that queries log data from Azure and summarizes the results. It makes a request to the Azure management API, extracts the query results, and transforms the data into a typed table with the correct column names and data types. This allows the raw log data to be analyzed and summarized within Power BI.

Uploaded by

Leonardo Edgar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

/*

The exported Power Query Formula Language (M Language ) can be used with Power Q
uery 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 Edi
tor'
3) Paste the M Language script into the Advanced Query Editor and select 'Done'
*/
let KustoQuery =
let
Source = Json.Document(Web.Contents("https://management.azure.com/subscriptions/
7692b65d-53b5-4d65-a9c7-0fdb1faf4a16/resourcegroups/bsellercloudservice1/provide
rs/microsoft.insights/components/bsellercloudservice/api/query?api-version=201412-01-preview",
[Query=[#"csl"="customEvents | where name == ""ProcessedOrders""// and customDim
ensions.AccountName == ""boticario"" and customMeasurements.OK_Order > 0 and ti
mestamp >= todatetime(""2016-08-19 03:00:00"") and timestamp <= todatetime(""201
6-08-20 03:00:00"")| summarize count(customDimensions.OK_Order)by name//, todate
time(""2016-08-19 00:00:00""), todatetime(""2016-08-20 00:00:00""), timestamp",#
"x-ms-app"="AAPBI"],Timeout=#duration(0,0,4,0)])),
SourceTable = Record.ToTable(Source),
SourceTableExpanded = Table.ExpandListColumn(SourceTable, "Value"),
SourceTableExpandedValues = Table.ExpandRecordColumn(SourceTableExpanded, "Value
", {"TableName", "Columns", "Rows"}, {"TableName", "Columns", "Rows"}),
RowsList = SourceTableExpandedValues{0}[Rows],
ColumnsList = SourceTableExpandedValues{0}[Columns],
ColumnsTable = Table.FromList(ColumnsList, Splitter.SplitByNothing(), null, null
, ExtraValues.Error),
ColumnNamesTable = Table.ExpandRecordColumn(ColumnsTable, "Column1", {"ColumnNam
e"}, {"ColumnName"}),
ColumnsNamesList = Table.ToList(ColumnNamesTable, Combiner.CombineTextByDelimite
r(",")),
Table = Table.FromRows(RowsList, ColumnsNamesList),
ColumnNameAndTypeTable = Table.ExpandRecordColumn(ColumnsTable, "Column1", {"Col
umnName", "DataType"}, {"ColumnName", "DataType"}),
ColumnNameAndTypeTableReplacedType1 = Table.ReplaceValue(ColumnNameAndTypeTable,
"Double",Double.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType2 = Table.ReplaceValue(ColumnNameAndTypeTableR
eplacedType1,"Int64",Int64.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType3 = Table.ReplaceValue(ColumnNameAndTypeTableR
eplacedType2,"Int32",Int32.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType4 = Table.ReplaceValue(ColumnNameAndTypeTableR
eplacedType3,"Int16",Int16.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType5 = Table.ReplaceValue(ColumnNameAndTypeTableR
eplacedType4,"UInt64",Number.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType6 = Table.ReplaceValue(ColumnNameAndTypeTableR
eplacedType5,"UInt32",Number.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType7 = Table.ReplaceValue(ColumnNameAndTypeTableR
eplacedType6,"UInt16",Number.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType8 = Table.ReplaceValue(ColumnNameAndTypeTableR
eplacedType7,"Byte",Byte.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType9 = Table.ReplaceValue(ColumnNameAndTypeTableR
eplacedType8,"Single",Single.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType10 = Table.ReplaceValue(ColumnNameAndTypeTable
ReplacedType9,"Decimal",Decimal.Type,Replacer.ReplaceValue,{"DataType"}),

ColumnNameAndTypeTableReplacedType11 = Table.ReplaceValue(ColumnNameAndTypeTable
ReplacedType10,"TimeSpan",Duration.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType12 = Table.ReplaceValue(ColumnNameAndTypeTable
ReplacedType11,"DateTime",DateTimeZone.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType13 = Table.ReplaceValue(ColumnNameAndTypeTable
ReplacedType12,"String",Text.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType14 = Table.ReplaceValue(ColumnNameAndTypeTable
ReplacedType13,"Boolean",Logical.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType15 = Table.ReplaceValue(ColumnNameAndTypeTable
ReplacedType14,"SByte",Logical.Type,Replacer.ReplaceValue,{"DataType"}),
ColumnNameAndTypeTableReplacedType16 = Table.SelectRows(ColumnNameAndTypeTableRe
placedType15, each [DataType] is type),
ColumnNameAndTypeList = Table.ToRows(ColumnNameAndTypeTableReplacedType16),
TypedTable = Table.TransformColumnTypes(Table, ColumnNameAndTypeList)
in
TypedTable
in KustoQuery

You might also like