Spotfire - 两个表上的自定义表达式

时间:2018-03-22 13:24:12

标签: expression spotfire tibco

我有两张桌子,一张包含一些高度的车辆,另一张包含每类车辆的限制。

我想在条形图中显示每个类别的超出限制的车辆数量。为此我需要一个自定义表达式。

我尝试了一些东西,但它不起作用,因为有两个表,只有一个表时效果很好。由于技术原因,我不能只有一张桌子。这是我的尝试:

sum(If([VEHICLE].[height]>[HEIGHT_LIMIT].[hlimit],1,0) OVER (Intersect([VEHICLE].[category]))

有了这个,我收到以下错误:

  

该功能的所有参数'>'当可视化组合来自不同表的数据时,表达式必须聚合。

这是一个小数据样本:

VEHICLE TABLE
category | id | height
---------+----+------
   A     |  1 |  1
   A     |  2 |  3
   A     |  3 |  3
   A     |  4 |  4
   B     |  1 |  2
   B     |  2 |  4
   C     |  1 |  1
   C     |  2 |  1

HEIGHT_LIMIT TABLE
category |     hlimit
---------+----------------
   A     |       2
   B     |       3

使用此数据样本,条形图应显示3表示A类,1表示B,0表示C.

1 个答案:

答案 0 :(得分:2)

首先,我想承认我从未制作过可以处理多个表的自定义表达式。

我的解决方案是使用左外连接将hlimit列插入到车辆表中,然后创建一个计算列,如果超过hlimit则为1,否则为零。这两个表仍将保留在应用程序中。