在事例表中,键通常是客户 ID、产品名称或日期序列,是唯一标识表中行的数据。而在嵌套表中,键通常不是关系键(或外键),而是表示要对其进行建模的属性的列。
例如,如果事例表包含订单,嵌套表包含订单中的项目,则您会对以下工作感兴趣:为存储在嵌套表中的跨事例表中多个订单的项目之间的关系建模。因此,虽然 Items 嵌套表通过关系键 OrderID 联接到 Orders 事例表,但是不应将 OrderID 用作嵌套表键,而应选择 Items 列作为嵌套表键,因为该列包含要建模的数据。大多数情况下,由于事例表和嵌套表之间的关系已通过数据源视图定义建立起来,因此可以安全地在挖掘模型中忽略 OrderID。
如果选择将某列用作嵌套表键,必须确保该列中的值对每个事例都是唯一的。例如,如果事例表表示客户,嵌套表表示客户购买的项目,则必须确保每个项目对每个客户均只列出一次。如果某位客户多次购买了相同的项目,您可能希望创建另一个视图,该视图包含对每个唯一产品的购买次数进行合计的列。
确定处理嵌套表中的重复值的方式取决于要创建的挖掘模型和要解决的业务问题。在某些情况下,您可能不关心客户购买某个特定产品的次数,而只想检查是否至少购买一次。在其他情况下,购买的数量和顺序可能非常重要。
如果项目顺序很重要,可能还需要一列来表示顺序。使用顺序分析和聚类分析算法来创建模型时,必须另外选择“Key Sequence”列来表示项目顺序。Key Sequence 列是一种仅在顺序分析和聚类分析模型中使用的特殊嵌套键,它需要唯一数字数据类型。例如,整数和日期均可用作 Key Sequence 列,但所有序列值必须是唯一的。除 Key Sequence 列以外,顺序分析和聚类分析模型还具有表示要建模的属性的嵌套表键,例如已购买的产品。
使用嵌套表中的非键嵌套列
定义了事例表和嵌套表之间的联接且选择了用作嵌套表键的列(包含有用的唯一属性)之后,可以将嵌套表的其他列用作模型的输入内容。嵌套表中的所有列均可用于输入、预测兼输入或仅用于预测。
例如,如果嵌套表包含 Product、ProductQuantity 和 ProductPrice 列,则可以选择 Product 作为嵌套表键,但可将 ProductQuantity 添加到挖掘结构中以用作输入内容。