是否可以使用条件拆分根据3个标准对行进行评分?
如果我可以避免它,我宁愿不创建树
基本上要做这样的事情(注意所有输出来自单个条件分割)
输出1 (得分0)
Field1 == 0&& Field2 == 0&& Field3 == 0
输出2 (得分1)
(Try1 == 1&& Try2 == 0&& Try3 == 0)||
(Try1 == 0&& Try2 == 1&& Try3 == 0)||
(Try1 == 0&& Try2 == 0&& Try3 == 1)
输出3 (分数2)
(Field1 == 1&& Field2 == 1&& Field3 == 0)||
(Field1 == 1&& Field2 == 0&& Field3 == 1)||
(Field1 == 0&& Field2 == 1&& Field3 == 1)
输出4 (得分3)
Field1 == 1&& Field2 == 1&& Field3 == 1
当然输出1和4很容易实现,但是我可以创建输出2和3而不创建条件分割的树系统来评估每一行的每次尝试吗?
非常感谢
答案 0 :(得分:2)
在条件拆分形状放入派生列形状之前,该形状使用以下表达式创建名为Score的新列:
(DT_I4)[Field1] + (DT_I4)[Field2] + (DT_I4)[Field3]
然后在您的条件分割中,四个分支比较分数列,如下所示:
Score == 0
Score == 1
Score == 2
Score == 3
答案 1 :(得分:0)
一般要注意的事项。
条件拆分将按顺序评估选项。因此,如果您首先定义输出1和输出4流,那么您不必担心条件分割树,假设我理解了您的意思
如果这些是整数,您可以使用数学来确定总分。
Field1 + Field2 + Field3 + Field4 == 0
Field1 + Field2 + Field3 + Field4 == 1
Field1 + Field2 + Field3 + Field4 == 2
Field1 + Field2 + Field3 + Field4 == 3
或者只是计算一个名为TotalScore的新列并将其设为TotalScore == 0
等
如果它是布尔值,那么可能有一些我早就忘记的真值表/逻辑运算会简化这一点。