所以,我继承了 PowerApp 的这种野兽,它做一些相对简单的事情,收集对应用程序中创建的动态测验的响应。操作员创建问题(将项目添加到 SPO 列表),然后将测验发送给人们,然后他们在 PowerApp 中回答。
因为这些问题或多或少是随心所欲地创建的,并且因为 PowerApps 不能动态创建新数据源或操纵它使用的数据源,而不是为每个问题/答案对都有一个列,所以这些 QnA 对被连接到一大块纯文本,并被塞入一个单独的 SPO 列表中的一列,其中包含以下格式的响应:
问题:问题1 文本?答案:答案 1 文本 | 问题:问题2 文本?答案:Answer2 文字等,等等。
我已经弄清楚了我需要将块拆分为 QnA 对(在条形字符上拆分)然后每个 QnA 对本质上是一个二维数组(在 JavaScript 中,无论如何,我会在正则表达式上拆分,/((\?|\.)( Answer: ))/
因为当然,问题可以以句号或问号结尾)。
由于 PowerApps 的函数引擎很奇怪而且拜占庭式,我不太明白如何使用该正则表达式将该 blob 转换为我可以输出到应用程序中的表,以便我的操作员可以将数据提取到更有用的东西中。
编辑1:
越来越近了。使用以下功能,我可以获得 2D 集合:
ClearCollect(
QnAPairs,
ForAll(
'ResponsesList',
Split(
'ResponsesList'[@Answers],
"|"
)
)
);
仍然不知道如何处理 QnA 集合中的每个结果,就像我可以添加到新表中的键/值对一样。
TL;博士?
怎么转
姓名 | 日期 | 答案 人麦克森 | 月/日/年 | 问题:问题1 文本?答案:答案 1 文本 | 问题:问题2 文本?答案:Answer2 文字等,等等。
进入
姓名 | 日期 | 问题1 正文| 问题2 正文| ...问题文本 人麦克森 | 月/日/年 | 答案 1 文本 | 答案 2 文本 | ...答案 2 文本