【发布时间】:2021-05-11 11:09:44
【问题描述】:
我有一个 Power Automate Flow,我想在其中查询表数据并将表数据返回给聊天机器人(Power Virtual Agent),包括行数据和列名。我知道如何访问返回的行数据,但我怎样才能获得列标题名称?我正在连接到 Kusto(Azure 数据资源管理器)以将表格数据返回到我的流,然后我解析返回的值转换为使用 markdown 格式的字符串,以便可以在聊天机器人上以表格格式显示。此流程需要是动态的,这样即使返回了一组不同的列,它也能始终工作。假设我传递了这个要执行的查询:
let TestTable = datatable(ColumnName1:int, ComumnName2:string)
[
1, "some string value"
];
TestTable
然后将数据返回到 Flow,如下所示:
[
{
"ColumnName1": 1,
"ColumnName2": "some string value"
}
]
当数据返回时,我想我可以通过遍历结果正文或值并使用类似这样的表达式来获取列标题名称:
string(fieldName(variables('index')))
这样我就可以将字段/列标题名称解析为字符串。这样我就可以动态地向用户显示包括列标题在内的行数据,而不仅仅是行数据。
|---------------------------------|
| ColumnName1 | ColumnName2 |
|---------------------------------|
| 1 | some string value |
|---------------------------------|
我在网上搜索了如何获取这样的列名,但我似乎找不到任何东西。
【问题讨论】:
-
您可以使用 John Liu 的 xpath()/xml() hack 来获取列名,但我不确定如何,我可能已经在这里完成了:stackoverflow.com/questions/67295400/…
-
遗憾的是,没有更强大的“创建 HTML 表”连接器版本,因为它可以生成完美的数据表,无论有多少单独的对象有不同的价值观。我试过这个,它很柔滑:
[ { "ELIOT": 1, "ELIOTTA": "a - some string value" }, { "ELIOT": 123, "ELIOTTA": "b - some string value", "ELIOCINA": true }, { "ELIOT": 321, "ELIOTTA": "c - some string value", "Phil": false, "Collins": "oooh baby", "IsOk": 111 } ] -
很遗憾,您不能简单地返回一个 HTML 表格以在聊天机器人中显示它