在Power Automate中提取Power BI JSON的G-PRODUCT与G-BAKERY唯一值
Power Automate提取Power BI JSON指定字段的唯一值
原始JSON数据
[ { "entity": { "Power BI values": [ { "G-DATEMO": 4, "G-DATEQU": 2, "G-DATEYR": 2024, "G-PRODUCT": "Biscuit", "G-BAKERY": "West", "Year Quarter Name": "2024 Q2" }, { "G-DATEMO": 4, "G-DATEQU": 2, "G-DATEYR": 2024, "G-PRODUCT": "Bun", "G-BAKERY": "West", "Year Quarter Name": "2024 Q2" }, { "G-DATEMO": 4, "G-DATEQU": 2, "G-DATEYR": 2024, "G-PRODUCT": "Bun", "G-BAKERY": "South", "Year Quarter Name": "2024 Q2" } ] } } ]
实现步骤
解析JSON
添加Parse JSON动作,将Power BI返回的JSON作为输入,点击「使用样本有效负载生成架构」,粘贴上面的原始JSON生成对应schema,后续可直接引用数组和字段。提取所有目标字段值
- 添加第一个
Select动作(命名为「提取所有产品」):- 输入:选择解析后的数据路径
body('Parse_JSON')?[0]?['entity']?['Power BI values'] - 映射:仅保留一项,键可留空,值选择动态内容里的
G-PRODUCT - 输出结果:
["Biscuit", "Bun", "Bun"]
- 输入:选择解析后的数据路径
- 添加第二个
Select动作(命名为「提取所有门店」):- 输入:同样选择
body('Parse_JSON')?[0]?['entity']?['Power BI values'] - 映射:值选择动态内容里的
G-BAKERY - 输出结果:
["West", "West", "South"]
- 输入:同样选择
- 添加第一个
去重得到唯一值数组
- 添加
Union动作(命名为「产品唯一值数组」):- 输入1:
body('提取所有产品') - 输入2:
[](空数组) - 输出结果:
["Biscuit", "Bun"]
- 输入1:
- 添加另一个
Union动作(命名为「门店唯一值数组」):- 输入1:
body('提取所有门店') - 输入2:
[] - 输出结果:
["West", "South"]
- 输入1:
- 添加
关于嵌套Apply to each的问题
嵌套循环容易因动态内容引用错误(比如误选循环动作本身而非字段值),导致最终数组填充的是动作名称Apply_to_each_2。用Select+Union的方式更直接,既避免循环的引用坑,效率也更高。
内容的提问来源于stack exchange,提问作者BobsBugs
相关产品推荐
相关产品推荐

