Spotfire:根据另一个表

时间:2017-10-09 23:53:11

标签: spotfire

  1. 是否可以根据另一个表(表2)插入计算列(表1)?更喜欢这样做而不是连接表,因为表2上的数据可能会继续变化。
  2. 通过根据表1中col col的匹配值和表2中最接近的p1值取表2中的f1值得出Calc列。如果可以根据另一个表执行计算列,怎么做我为它创建了一个表达式?
  3. Table

1 个答案:

答案 0 :(得分:0)

@ p.ysl - 为了将列'f1'添加到表1,表1中的列'x'和表2中的'p1'应该匹配。由于这些列的格式不一样(一个是实数,另一个是整数),我们无法匹配它们。虽然我们这样做,但表1中添加的'f1'将为空白,因为值不匹配。

您可以使用圆值向表1添加计算列。示例:29.23将在此列中为29,然后通过比较表1中的计算列'round(x,0)'和表2中的列'p1',从表2中添加列'f1'。但是,问题是计算列不能用于相关表格。

一种解决方案是冻结此计算列,以便将其用于匹配列。但是,当我们冻结列时,整个表将被嵌入,数据无法刷新。

但是,您可以使用R脚本完成此操作。

转到“工具”菜单下的“注册数据”功能:

  • 在脚本部分,添加以下脚本。

    t3< - cbind(t1,round(t1,0))

  • 在输入参数部分,定义't1'是什么。

enter image description here

  • 在输出参数部分中,定义t3是什么。在这种情况下,结果将存储为表格。

enter image description here

  • 现在,运行脚本

enter image description here

  • 它将提示您分配输入和输出参数。输入 - 从表1中指定列“x”。

enter image description here

  • 输出参数将是一个新表。

enter image description here

注意:如果您愿意,可以保存此数据功能。

创建表't3'。现在,您可以通过匹配'column2'和'p1'将表2中的'f1'列添加到此表中,如下面的屏幕截图所示。

enter image description here

为确保动态运行,可以嵌入表1和表2,但应将t3表链接到源,以便在将新数据添加到表1 /表2时,t3将自动更新。

希望这有帮助!