我正在使用Tableau Server,但是我认为我所面临的问题并不特别适合于Tableau Server。
我正在使用两个数据源ds1
和ds2
,它们是使用维Id
连接的。 ds1
有一个字段city
,而ds2
有一个字段district
。每个Id
对应一个城市,但是一个Id
可以对应多个区域。
我在Points
中创建了一个计算字段ds2
,在代码段中对此进行了描述。
我从不同的站点和博客(包括tableau支持)进行了研究。在这背后我有一个很可能的原因,我可能是错的。 ATTR
函数在行级别起作用,并识别行是否唯一,然后输出dimension
,否则输出'*'
。我认为,当我加入这两个表时,district
中的ds2
维可能具有'*'
而不是实际的district
值,因此它可能无法比较其中的条件Point
的if语句。
//Point//
IF [city] == "Delhi"
AND [district] == "Dist1"
AND [district] == "Dist2"
THEN "100 Section"
ELSEIF [city] == "Mumbai"
AND [district] == "Dist11"
AND [district] == "Dist12"
THEN "200 Section"
ELSE "Other Section"
END
当我在计算字段中插入满足条件的数据时,它将进入Other
的{{1}}部分。我希望它进入所需的部分。
例如
Point
Id = 19
city = Delhi
district = Dist1
district = Dist2
它应该在district = Dist3
中,但是它要在100 Section
中。为了使Other Section
正常工作,我应该做些什么或添加些什么修改?