首页 文章

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

提问于
浏览
0

我有两张 table ,一张包含一些高度的车辆,另一张包含每类车辆的限制 .

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

我尝试了一些东西,但它不起作用,因为有两个表,当只有一个表时,它运行良好 . 由于技术原因,我不能只有一张 table . 这是我的尝试:

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 回答

  • 2

    首先,我想承认我从未创建过一个可以处理多个表的自定义表达式 .

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

相关问题