0

我正在构建一个模型以允许业务用户在运行时构建决策树。

具体实施将看到一个决定应用于调查中的给定问题,以决定是否应该显示该问题。

用于讨论的示例是:

  • Q1:请注明您的性别。
    (男/女)
  • Q2:请注明您的年龄。
    (0-120)
  • Q3:你怀孕了吗?(仅当 Q1=F 且Q2 >9 的
    答案时才应显示此问题)
  • Q4:你做过乳房X光检查吗?(仅当(Q1 的答案=F 且Q2的答案>40)Q3 的答案=是
    时才应显示此问题

到目前为止,我所拥有的模型会看到每个问题都附有以下结构:

在此处输入图像描述

示例数据:
在此处输入图像描述

上述严格中的数据应该允许某人遍历数据并重新创建上述问题中所示的条件,然后允许他们显示问题,或者不基于对先前问题的回答。

到目前为止,我感觉有点混乱,我想知道他们是否是任何人都能想到的既定模式,可以实现这一点。任何其他反馈也将是有用的。

我希望我的问题是有意义的。

更新(2017 年 3 月 28 日):
@Avitus:我不同意你的想法(如果我错了,请纠正我)。Evaluation 一次只比较两个标准,但 TargetEvalID 允许您将问题与前一组进行比较。IE 在我给出的示例中,我正在比较 ((Q1 AND Q2)OR Q3)。为了实现你所说的,我可以做嵌套问题。如果我想做 A 和 B,CI 会做(A 和 B)和 C。

那有意义吗?

更新(2017 年 3 月 29 日)
我对模型进行了一项更改,以允许将组与其他组进行比较。
即(A 和 B)或(C 和 D)

在此处输入图像描述

4

1 回答 1

0

除非您只允许业务用户选择最多 2 个标准,否则您最缺少的就是事物的逻辑分组。

例如,您允许 ( A ) 或 ( B )、( A ) 和 ( B )

但是你必须允许(A)或(B)和(C)。

这意味着您需要一个额外的参数来放置第三组或第四组,以便用户可以执行:( ( A ) 或 ( B) ) 和 ( C ) 或者如果他们想做:( A ) 或 ( ( B ) 和 (C))

您很可能需要构建一个递归函数来了解它的构建方式。

于 2017-03-27T11:44:34.560 回答