【问题标题】:Spotfire - Getting data from one table that falls between two dates in another table and adding to a calculated columnSpotfire - 从一个表中获取位于另一个表中两个日期之间的数据并添加到计算列
【发布时间】:2015-11-10 21:55:04
【问题描述】:

如果表示例 1 中的数据介于表中的日期(DTTMSTART 和 DTTMEND)之间,那么在表示例 2 中创建名为“SZODMAXCALC”的计算列的表达式将包含表示例 1 中的 SZODMAXCALC例二?

也许这在加载数据的 SQL 端更容易完成?

【问题讨论】:

  • 我没有得到表 1 中 SZODMAXCALC 的逻辑,为表 2 创建逻辑似乎很重要。
  • 我只是为了展示这个例子。
  • 你知道表1中想要的列数据的逻辑是什么吗?

标签: sql calculated-columns spotfire


【解决方案1】:

无法创建引用另一个表中的列的计算列。

您需要在 Spotfire 中(通过 Insert...Columns)* 或在 SQL 端(通过数据库视图或在 Spotfire 中创建新信息链接)进行连接。

最好的方法取决于您的数据结构、实现和期望的结果,所以我无法推荐那里。看看这两个选项并评估哪一个效果最好。


* 注意 Spotfire 不能基于计算列作为公共键加入。也就是说,使用您的示例,如果 [WELLNAME] 是一个计算列,您不能告诉 Spotfire 相当于 SELECT wellname, ... FROM table_a LEFT JOIN table_b ON table_a.wellname = table_b.wellname

替代方法是插入...转换并选择插入新计算列,然后加入该列。

原因是计算的列是非常可变的;它们可以根据用户操作频繁更改。每次更改列的内容时重新执行连接将是低效的。相反,“转换计算列”仅在加载数据表时更新。

【讨论】:

    猜你喜欢
    • 2022-06-10
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    相关资源
    最近更新 更多