进一步了解如何在Kusto中编写查询。我在2个具有不同角色的表中有一列,但是列标题是Role,我想将数据合并到一个称为Roles的列中。
我尝试过添加此内容|扩展Roles = strcat(角色名称,角色),但这只是合并了数据。
这是我的查询尝试,我要联接3个表,其中2个具有角色。第三个是我要验证用户别名的地方。
(cluster('****').database('****').****_****** | where Discriminator == 'Service'| where DivisionOid == '******')
| join kind = leftouter cluster('****').database('****').Release_Users on SubscriptionId
| join kind = leftouter (cluster('****').database('****').Release_AzureAccess
| where RoleId contains "****" and PrincipalType !contains "ServicePrincipal") on SubscriptionId
| join kind = leftouter cluster('****').database('****').Headtrax_PeopleHierarchyV1 on $left.PrincipalName == $right.EmailAddress and $left.LiveEmailId == $right.EmailAddress
| extend Roles = strcat (RoleName, Role)<<--this was my failed attempt at combining the Role columns. That just concatenated.
我想针对person表验证来自2个不同表的每个用户是否处于活动状态。我是新手,并且正在努力解决此问题。我想我想将2个表合并到一个列表中,而不是尝试从2个表中合并一个列。有人有什么建议吗?
答案 0 :(得分:2)
这似乎是工会经营者的工作。
Union接受两个或多个表并返回所有表的行。
来自:https://docs.microsoft.com/en-us/azure/kusto/query/unionoperator?pivots=azuredataexplorer
这是来自上面文档的示例查询- 让View_1 = view(){print x = 1}; 让View_2 = view(){print x = toint(2)}; 让View_3 = view(){print x_long = 3}; 与source = TableName的联合View_1,View_2,View_3
答案 1 :(得分:0)
欧文的答案肯定会奏效。如果您想采用他的解决方案并将其展平为一行,则可以使用summary函数来实现。
let View_1 = view () { print x=1 };
let View_2 = view () { print x=toint(2) };
let View_3 = view () { print x_long=3 };
union withsource=TableName View_1, View_2, View_3
| summarize sum(x_long1), sum(x_int), sum(x_long)