微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure 工作簿中来自同一数据源的多个同时可视化Application Insights

如何解决Azure 工作簿中来自同一数据源的多个同时可视化Application Insights

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

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

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

但现在我还想在不复制/粘贴“算法”的情况下呈现与 table 相同的数据(这显然比这个示例更复杂)。所以我想有效地做到这一点:

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

 data | render table;
 data | render piechart;

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

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

  • 只是将第二个可视化放在新的步骤中,但我找不到引用此 data 参数的方法

  • 查询中创建一个多值参数,然后尝试在后续步骤中使用它。那没用。

    {数据} |渲染饼图

  • 创建一个全局参数并尝试从一个步骤设置它。似乎不是从查询步骤中显式设置参数值的方法

  • 尝试在高级选项卡下命名步骤,但尽管有此消息,但我找不到任何示例说明如何在以后的步骤中引用该步骤。

enter image description here

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

解决方法

工作簿步骤不了解可以返回许多数据表的 fork 运算符之类的东西,它只知道如何可视化第一个表。

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

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

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

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

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

  5. 然后运行合并步骤并选择其他可视化

合并步骤也可以在不同的源之间进行其他类型的合并/联合/连接。因此,您可以将来自 Azure 资源图的数据(如属性/标签)与来自指标的数据和来自日志的数据合并到一个网格中。并且合并步骤可以在一个合并步骤中完成所有这些工作,您不需要添加多个合并步骤(x = a union b,然后是 y = x union c 的另一步骤,您可以将其作为多个连接来完成/unions 在一个合并步骤中。),

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。