“动态地在报告-分支中插入章节?”(解决)”

vwegertvwegert 成员职位:10贡献我
2019年6月编辑 帮助
你好,

我是RapidMiner的新手,我目前被困在一个点上,我并没有真正期望遇到任何问题。我在尝试实现一个叫做控制级处理在其他一些环境中我使用。我不知道这是否是一个被普遍接受的术语,所以我将简要描述一下我试图实现的目标。

经过一些处理后,我得到了大致如下的数据:

Key1 | key2 | date | value
AAAA | AAAA | 2015-01-01 | 10
AAAA | AAAA | 2015-01-02 | 12
AAAA | AAAA | 2015-01-03 | 8
2015-01-01 | 20
AAAA | bbbb | 2015-01-02 | 18
2015-01-03 | 19
BBBB | cccc | 2015-01-01 | 15
BBBB | cccc | 2015-01-02 | 12
BBBB | cccc | 2015-01-03 | 17
2015-01-01 | 12
2015-01-02 | 13
2015-01-03 | 9
我已经成功地为[tt]KEY1[/tt]和[tt]KEY2[/tt]的每个组合动态生成了一个单独的图(两个多项式)。我不知道这是否是最有效的方法,但我是这样做的:
  • 记住整个ExampleSet
  • 选择属性只保留[tt]KEY1[/tt]和[tt]KEY2[/tt]
  • 删除重复项,给我一个不同的[tt]KEY1[/tt]和[tt]KEY2[/tt]对的列表
  • 使用循环示例处理该列表
  • 在循环子工作流中,使用Extract Macro来确定当前的[tt]KEY1[/tt]和[tt]KEY2[/tt]
  • 收回存储的ExampleSet
  • 只保留属于当前[tt]KEY1[/tt]和[tt]KEY2[/tt]的条目的示例
  • 将过滤的集合报告给(先前打开的)报告
到目前为止,这是可行的。现在我想介绍中间标题(节),因为[tt]KEY1[/tt]和[tt]KEY2[/tt]实际上形成了一个层次结构。我需要报告TOC看起来像这样(对于上面的示例数据):

1.AAAA级
1.1 aaaa级
1.2 bbbb
2.BBBB
2.1会议预备
2.2 aaaa级
次要标头级别没有问题,但主要级别出乎意料地困难。我曾尝试使用Set Macro存储[tt]KEY1[/tt]的先前值,然后使用Branch操作符有条件地应用Add Section操作符,然后更新宏,但到目前为止,我还无法实现此工作。我相信我需要使用条件类型表达式的条件值,如[tt]KEY1 <> %{prev_key1}[/tt],但我得到的是运行时错误。不幸的是,文档和示例过程对我都没有多大用处。我是否遵循了正确的方法,以及如何让Branch操作符(或任何其他操作符)执行我需要的操作?

谢谢
Volker
标记:

答案

  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:913独角兽
    你好,

    尝试对条件使用正确的语法:
    = %{prev_key1}
    此外,你需要引用字符串,所以它可能是这样的:
    = "%{prev_key1}"
    表达式语法在生成属性中使用。在这个操作符的帮助对话框中,您可以找到有效的函数和语法元素。
  • vwegertvwegert 成员职位:10贡献我
    非常感谢——实际上,我已经在用[tt]了!=[/tt],但是缺少引号。我仍然没有在RapidMiner中引用什么,但至少这个问题得到了解决。
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:913独角兽
    您需要像在Excel函数或编程语言中那样引用字符串。

    RapidMiner宏在函数上下文中并不是真正的“变量”:相反,它们只是作为文本插入到求值的表达式中。如果宏指向一个属性名,就不应该用引号括起来。如果它指向一个实际的字符串值,则必须加引号。如果包含数字,则不应引用。

    但你是对的,有些地方不是很直观。
登录注册置评。