c# - Azure Application Insights Analytics 查询联合和列比较

标签 c# mysql sql azure azure-application-insights

我有两个自定义事件 A 和 B 。 A 将有一行 2 列,例如 C 和 D(具有日期时间数据类型)。自定义事件 B 将具有包含 2 列 E 和 F 的行,其中 E 将具有日期时间值,F 将是整数值。事件 A 和 B 没有任何公共(public)列

现在我希望结果集包含在时间 C 和 D 之间出现的那些行。

例如,我的值是 C 栏 - “2016-09-03” D 栏 - “2016-09-11” E 列具有从“2016-08-01”到“2016-09-30”的多行。我希望结果集仅包含 E 列和 F 列值出现在 C 列和 D 列之间的行

let tab1 = customEvents | extend cws = todatetime(tostring(customDimensions.['ColumnC'])) , cwe =todatetime(tostring(customDimensions.['ColumnB'])) | where name  == "A" | project cws , cwe , name | limit 1  ;
let tab2 = customEvents | extend dt = todatetime(tostring(customDimensions.['E'])) | where  name == "B" |summarize F=count(name) by E=startofday(dt) | order by E asc | project E , F  ; 
union tab* |take 10 |project cws , cwe , name , E , F
|  where E > cws and E < cwe | project E , F

由于没有公共(public)列,我尝试使用 Union 语句合并两个表,但无法获得所需的结果集。有关此问题的任何输入都会对我非常有帮助。

最佳答案

当你想连接2个没有公共(public)列的数据集时,你可以创建一个虚拟列。 尝试这个查询:

customEvents 
| where name  == "A"
| extend cws = todatetime(tostring(customDimensions.['ColumnC'])) , cwe =todatetime(tostring(customDimensions.['ColumnB'])), dummy = "dummy" | project cws , cwe , name, dummy
| join kind = leftouter (
    customEvents 
    | where  name == "B" 
    | extend dt = todatetime(tostring(customDimensions.['E'])) | summarize F = count(name) by E=startofday(dt) | order by E asc | project E , F, dummy = "dummy"  
) on dummy 
|  where E > cws and E < cwe | project E , F

关于c# - Azure Application Insights Analytics 查询联合和列比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39805626/

相关文章:

c# - 修改某些页面的 session 超时的最佳方法

mysql - SQL - 查找值相同或下一个最大的所有行

php - php mysql 中的问题

sql - 一个订单上多个不同产品的表格设计

sql - mysql group by date with multiple join

sql - postgresql/psql 查询 where 子句多个 "or"从文件读取

c# - C# 中的类型化与强类型化

c# - 如何在 ASP MVC 和 Entity Framework 中访问另一个 Controller 的 View

c# - XNA 4.0 中 AnisotropicClamp 和 AnisotropicWrap 之间的区别?

PHP 添加选项到<select multiple></select>