Ограниченный импорт данных из Application Insights в PowerBI

Я пытаюсь импортировать данные из Azure Application Insights в PowerBI. Проблема в том, что, независимо от того, какой timespan я установил, мне кажется, что я получаю данные только за неделю. Вот как выглядит M-запрос:

let AnalyticsQuery =
let Source = Json.Document(Web.Contents("https://api.applicationinsights.io/v1/apps/<uuid>/query", 
[Query=[#"query"="customEvents
| project customDimensions
",#"x-ms-app"="AAPBI",#"timespan"="P30D"],Timeout=#duration(0,0,60,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

Я думал, что это проблема с размером, но я уже сузил ее до одного столбца (хотя и широкого), и он по-прежнему не возвращает никаких данных.

Сужение возвращаемого набора данных до двух столбцов увеличило набор данных, включив в него несколько недель, а не менее недели, но я все еще ищу более крупный набор данных. Вот последний запрос:

let AnalyticsQuery =
let Source = Json.Document(Web.Contents("https://api.applicationinsights.io/v1/apps/<uuid>/query", 
[Query=[#"query"="customEvents
| extend d=parse_json(customDimensions)
| project timestamp, d[""Properties""]
| order by timestamp desc
| where timestamp <= now() and d_Properties <> """"
",#"x-ms-app"="AAPBI"],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,
    #"Sorted Rows" = Table.Sort(AnalyticsQuery,{{"timestamp", Order.Ascending}})
in
    #"Sorted Rows"

person Nick Heidke    schedule 03.08.2019    source источник
comment
Вы уверены, что ваши данные не полные? Потому что обычно в Power BI (в предварительном просмотре и редакторе запросов) вы видите всего несколько строк (~ 1000).   -  person Strawberryshrub    schedule 05.08.2019
comment
Да, я добавил в отчет визуализацию с сеткой данных, и самая ранняя отметка времени - около 7/30. Есть данные, идущие намного дальше.   -  person Nick Heidke    schedule 05.08.2019


Ответы (1)


Вам следует изучить буферизацию таблиц или прямой запрос: см. это обсуждение

person intrixius    schedule 12.08.2019
comment
Я не верю, что это вопрос объема на стороне PowerBI, это похоже на ограничение от Application Insights. - person Nick Heidke; 14.08.2019
comment
Я использовал данные Json в качестве источника, и Power BI периодически создавал проблемы с загрузкой данных (некоторые части данных не загружались). Использование буферизации таблиц в конце концов дало мне все данные (это действительно замедлило работу, но это не было проблемой) - person intrixius; 14.08.2019