有没有一种方法可以合并Kusto中​​两个表中的数据?

时间:2019-06-28 07:09:23

标签: kusto azure-data-explorer

进一步了解如何在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个表中合并一个列。有人有什么建议吗?

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

产生: enter image description here

答案 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)
相关问题