我想将数据从 azure 表存储中提取到 Excel 2016 / Power Query 中。很难找到关于到底发生了什么的好文档,但不管它是什么,它都很慢。我有一个大表,所以我想确保在 Azure 端应用过滤器,而不是将所有数据拉给我并过滤客户端。
到目前为止,这是我的查询(使用设计器构建,但这是高级编辑器版本):
let
Source = AzureStorage.Tables("mystorageaccount"),
ElmahLogs1 = Source{[Name="ElmahLogs"]}[Data],
#"Filtered Rows" = Table.SelectRows(ElmahLogs1, each [Timestamp] > #datetime(2016, 5, 12, 12, 0, 0)),
#"Expanded Content" = Table.ExpandRecordColumn(#"Filtered Rows", "Content", {"HostName", "Type", "Source", "Message", "User", "StatusCode", "AllXml", "PublicId"}, {"Content.HostName", "Content.Type", "Content.Source", "Content.Message", "Content.User", "Content.StatusCode", "Content.AllXml", "Content.PublicId"})
in
#"Expanded Content"
如您所见,我首先尝试按时间戳进行过滤,假设可以在 Azure 上快速处理。但这似乎需要几分钟而不是几秒钟。
有没有办法查看过滤是在客户端还是服务器端完成的?
是否有更好的方法将过滤器表达式传递给 Azure,例如在 AzureStorage.Tables() 函数或 Source() 函数中的某处放置 OData 过滤器?