如何比较两个数据集并标记违反规则

时间:2019-01-14 16:26:14

标签: alteryx

现在在这个问题上停留了一段时间。我无法考虑使用Alteryx实现所需结果的逻辑和实现。

有两个数据集,如下-

数据集1

Risk ID     Rule ID     Code
FR01        00Q         FBREV
FR01        00Q         FBREV1
FR01        00Q         FBREV2
FR02        02D         FBREV
FR02        02D         FBREV12

第一个数据集中的风险和规则ID的组合导致唯一的代码列表。

数据集2

Column1     Code
User1       FBREV
User1       FBREV1
User2       FBREV

为用户标记了他们使用的代码。

当他们使用相同的风险和规则ID系列中的代码时,这是违规的。

我只想标记那些违反此规则的用户。

在以上数据集中,User1违反了该规则,因为他使用了两个代码(FBREV和FBREV1)。这两个代码都属于(FR01 + 00Q)规则。因此,我需要能够将User1标记为违反规则的人。 User2不是违反规则的人,因为他没有使用代码(FBOPO)。

几天来,我一直在为此烦恼。

1 个答案:

答案 0 :(得分:1)

基本上,您要将用户使用的代码归入唯一的RiskID / RuleID,然后找到用户具有多个相同RiskID / RuleID组合之一的位置。

Alteryx workflow

顶部文本输入是数据集1,底部文本输入是数据集2 该公式将RiskID和RuleID连接起来:

[Risk ID] + [Rule ID]

联接在代码上

总结按Risk&RuleID和Field1(用户)分组并获得每个Risk&RuleID的计数:

Summarize actions

最后,过滤那些具有相同Risk&RuleID计数大于1的用户

输出(true):

  

User1