首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PowerAutomate中合并具有相同键列的数据集

如何在PowerAutomate中合并具有相同键列的数据集
EN

Stack Overflow用户
提问于 2022-05-22 19:06:20
回答 1查看 1.1K关注 0票数 0

我有来自两个不同API调用的两个数据集。这两种方法都给出了一个事件列表和一个数字值。我想将这两个集合合并到一个表中,在PowerAutomate中,但是我很难弄清楚如何对每个函数进行嵌套应用,但没有成功。

我的数据示例:

数组1:\x/#.=‘Groups 1’>事件名称\x=\x{e76f}\x{e76f}\{e76f}\x{e76f}\{e76f}\x{e76f

数组2:事件名/事件名--签入

(这些数据采用JSON格式、数组或字符串:[{ "Event Name": "General Admission", "Purchased Tickets": "510"},{"Event Name": "Members", "Purchased Tickets": "210"}....][{"Event Name": "General Admission", "Checked In": "210"},.....])

我想要做的是把它们合并成以下几个部分: merge Name票证,签入了,into

(理想情况下,最后一个单元格是0,但这是我自己能搞清楚的)。重要的是要注意,这两个表可能没有相同的行,如果是的话,我现在只想把它当作null来处理。对于我得到的键值,我没有太多的控制权,这些都依赖于ran报告。但是,如果它们匹配,则键将是相同的。

union只在第一个数组之后单击第二个数组,然后得到一个包含两个键值集的表,第2列和第3列分别为空白。我认为inner-join可以帮助我做到这一点,但它似乎没有给我一个选择两个数组的选项。

我无法访问任何PowerAutomate高级功能

EN

回答 1

Stack Overflow用户

发布于 2022-05-23 01:22:04

像这样的流会为你做的。我不得不说,在LogicApps/PowerAutomate引擎上,这种类型的操作并不总是理想的。不管怎样..。

描述每一步..。

基数据

这只是您的JSON,它是您想要通过新的数据集来增强的基本数据。

查找数据

这是另一个数据集,注意到最后一条记录没有CheckedIn属性。很明显,这是流程的一个重要部分。

初始化组合阵列

这在这个阶段是空的,它将将数据合并到一个连接状态。

处理每个基本数据项

这很明显,我们只是在遍历Base Data数组。

筛选当前基本数据项上的查找数组

想象一下这个动作会容易一些。

给你看那个步骤背后的代码..。

代码语言:javascript
复制
"inputs": {
    "from": "@body('Lookup_Data')",
    "where": "@equals(item()['EventName'], items('Process_Each_Base_Data_Item')?['EventName'])"
},

附加到组合阵列

有几种方法可以做到这一点,但为了更好地说明这一点,我们只需创建一个新对象并将其添加到Combined Array变量中。

这是步骤中包含的代码..。

代码语言:javascript
复制
"inputs": {
    "name": "Combined Array",
    "value": {
        "EventName": "@{items('Process_Each_Base_Data_Item')?['EventName']}",
        "Tickets": "@items('Process_Each_Base_Data_Item')?['Tickets']",
        "CheckedIn": "@if(greater(length(body('Filter_Lookup_Array_on_Current_Base_Data_Item')), 0), body('Filter_Lookup_Array_on_Current_Base_Data_Item')[0]['CheckedIn'], 0)"
    }
}

重要的表达式是CheckedIn属性。

它检查筛选结果是否至少有一个值,如果有,它将获得第一个(使用索引0,但您可以使用first函数)项(我假设应该只有一个),然后从它获得CheckedIn属性。

最终的结果是一个类似于.

代码语言:javascript
复制
[
  {
    "EventName": "General Admission",
    "Tickets": 510,
    "CheckedIn": 210
  },
  {
    "EventName": "Members",
    "Tickets": 210,
    "CheckedIn": 110
  },
  {
    "EventName": "Special Programs",
    "Tickets": 100,
    "CheckedIn": 100
  },
  {
    "EventName": "Groups",
    "Tickets": 20,
    "CheckedIn": 0
  }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72340541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档