来自 Azure Workbooks (Application Insights) 中同一数据源的多个同时可视化

Multiple simultaneous visualizations from same data source in Azure Workbooks (Application Insights)

我在使用 Azure 工作簿(用于 Application Insights)时遇到问题,试图让相同的数据同时显示在不同的可视化效果中

我可能有一个简单的查询:

requests 
 | where timestamp > ago(24h) 
 | summarize count() by client_CountryOrRegion
 | top 10 by count_ 
 | render piechart

但现在我还想渲染与 table 相同的数据,而没有 copy/pasting 和 'algorithm'(这在现实中显然比这个示例更复杂)。所以我想有效地做到这一点:

let data = requests 
 | where timestamp > ago(24h) 
 | summarize count() by client_CountryOrRegion
 | top 10 by count_ ;

 data | render table;
 data | render piechart;

但这只是呈现第一个可视化效果。

我已经尝试了所有我能想到的:

一定有办法不必维护查询的两个副本,但我找不到任何东西。

工作簿步骤不理解 fork 运算符之类的东西,它可以 return 许多 table 数据,它只知道如何可视化第一个 table .

获得所需内容的最简单方法是使用 [merge 数据源] 复制查询结果 (https://github.com/microsoft/Application-Insights-Workbooks/blob/master/Documentation/DataSources/DataSources.md#merge-data-from-different-sources)

  1. 创建您的查询,return输入您想要的所有列,以您想要的方式可视化。 给它一个有用的名字,就像你在屏幕截图中显示的那样。

  2. 添加另一个查询步骤,这次在数据源下拉列表中,选择merge

  3. 在合并步骤的设置中,使用“添加合并”选项,并在出现的弹出窗口中选择合并类型“复制 Table”,然后选择在中命名的步骤步骤 1

  4. 合并步骤还允许您添加计算列,如果您需要对其他 2 列进行数学运算,例如计算 percentages/rates 等,请使用“添加新项”合并步骤工具栏中的项目。您还可以重命名、重新排序、删除数据列

  5. 然后 运行 合并步骤并选择另一个可视化

合并步骤还可以在不同的源之间执行其他类型的 merges/unions/joins。因此您可以将来自 Azure Resource Graph 的数据(如 properties/tags)与来自指标的数据以及来自日志的数据合并到一个网格中。并且合并步骤可以在一个合并步骤中完成所有这些工作,您不需要添加多个合并步骤(x = a union b,然后是 y = x union c 的另一步骤,您可以将其作为多个 joins/unions 在一个合并步骤中。),

如果您使用这种方式合并到 join/union 个数据源,您可以隐藏原始来源,并且合并仍然有效。然而,合并还不能依赖于隐藏的 merges,因此我建议人们使用 one 合并步骤来执行多个连接,而不是多个合并步骤,每个合并步骤做一个。