【发布时间】:2022-06-12 06:12:08
【问题描述】:
-=-=-=-=-
为清晰起见进行了编辑(我希望!):
Master_Transactions_Log 数据库有超过 50 万个条目,但我的扫描计数通常不到 100 个。
我的四个测试条目(保存到 ScanDataCollection_SmartComm_MasterList)是:
REQ2069120.RITM2374312.01
REQ2075966.RITM2382958.01
REQ2081369.RITM2389938.01
REQ2091095.RITM2402123.01
我已手动将一条记录添加到 SQL 数据库中(出于测试目的,我知道此时只有一个条目符合此条件),因此有一个 单条记录其中 Scan_Code = "REQ2081369.RITM2389938.01" and Transaction_Type = "New Equipment Delivery - Comms Lockoff"(现在只是想保持简单)
结果应该是两个集合:
SC_OnCommsHold 包含一个名为“Result_OnHold”的列,其中仅包含一个条目:
REQ2081369.RITM2389938.01
SC_Remainder_1 有一个名为“Result”的列,其中包含 ScanDataCollection_SmartComm_MasterList 中的所有条目减去现在 SC_OnCommsHold 中的条目:
REQ2069120.RITM2374312.01
REQ2075966.RITM2382958.01
REQ2091095.RITM2402123.01
我现在的代码是:
ClearCollect(SC_OnCommsHold, RenameColumns(ScanDataCollection_SmartComm_MasterList,"Result","Result_OnHold"));
ClearCollect(SC_Remainder_1, ScanDataCollection_SmartComm_MasterList);
//RemoveIf(SC_OnCommsHold, "REQ2081369.RITM2389938.01" in Result_OnHold);
RemoveIf(SC_OnCommsHold, IsEmpty(Filter(Master_Transaction_Log, Scan_Code = Result_OnHold, Transaction_Type="New Equipment Delivery - Comms Lockoff")));
运行需要几秒钟,所以我怀疑它实际上是在查看数据库,但结果是 SC_OnCommsHold 以所有四个测试代码结束,这对于其余的一切。上面我注释掉的小行(#3)是我的帮手,以确保我在数据结构上的想法是正确的,但上面的实际实现(第 4 行)失败了。
我一直认为这条线是踢我的线,但我不知道我需要什么。
在我能够正确填充 SC_OnCommsHold 之后,我希望能够使用相同的技巧de从 SC_Remainder_1 填充这些元素>.
-=-=-=-=-
我真的为此苦苦挣扎......
我从一个集合开始:ScanDataCollection_SmartComm_MasterList
看起来像这样:
Result
REQ1991799.RITM2280596.01
REQ2048874.RITM2349401.01
REQ2037354.RITM2335400.01
我有一个数据库表: Master_Transaction_Log
...其中包含三个特别感兴趣的列:
Timestamp
Scan_Code
Transaction_Type
我想以 两个 集合结束:
SC_ReturnToDepot
Result
REQ1991799.RITM2280596.01
SC_Remainder_1
Result
REQ2048874.RITM2349401.01
REQ2037354.RITM2335400.01
标准如下:对于 ScanDataCollection_SmartComm_MasterList 中的任何给定结果,如果:
数据库记录具有 Scan_Code = Result AND Transaction_Type = "New Equipment Delivery - Cust. Msg: Equipment Returning to Depot" AND Timestamp > 72 小时前,那么Result 的值被添加到 SC_ReturnToDepot
SC_Remainder_1 是所有剩余值,不符合上述标准。
到目前为止,我已经做到了这一点,但在此之后它正在杀死我:
ClearCollect(SC_ReturnToDepot,
ForAll(ScanDataCollection_SmartComm_MasterList,
...?
);
);
ClearCollect(SC_Remainder_1,
ForAll(ScanDataCollection_SmartComm_MasterList,
...?
);
);
我有一种感觉,如果我能写出一行代码,我就要参加比赛了,但这只是......呃,我的大脑是个混蛋。
-=-=-=-=-=- 澄清
- 这是一个多步骤级联过程的一部分,该过程始于 ScanDataCollection_SmartComm_MasterList
- 我无法更改 SQL 表上的数据,也无法切换 我所有的逻辑结构都在存储过程中完成, 等
- 如果 PowerApps 中有发送特定 SQL 查询的方法, 并且该特定 SQL 查询将在 收藏,然后我对此持开放态度,但结果必须是 如上所述的集合,因为我使用这些结果集合来 馈送其他进程。
【问题讨论】:
标签: sql-server powerapps powerapps-collection