我有两张 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 回答
首先,我想承认我从未创建过一个可以处理多个表的自定义表达式 .
我的解决方案是使用左外连接将hlimit列插入到车辆表中,然后创建一个计算列,如果超过hlimit则为1,否则为零 . 两个表仍将保留在应用程序中 .