我在Tableau中有一个shapefile,在单独的列/维度中有几个变量/层。我想为用户提供从列表中选择“图层”之一的可能性,然后将相应的值绘制在地图上。
通过创建参数Layer selection
并将所有所需的列名添加到参数列表中,我设法做到了这一点。
然后我用下面的代码创建了一个计算字段:
IF [Layer Selection] = "ColumnName1" THEN ATTR([ColumnName1]) ELSEIF [Layer Selection] = "ColumnName2" THEN ATTR([ColumnName2]) <....> END
这似乎可行,但是这需要为我要添加的每一层添加ELSEIF
和THEN
语句。而且由于我大约有20层,因此将所有层首先添加到参数中的值列表,然后再添加到计算字段中的IF / THEN语句中,似乎有点麻烦。
由于参数的值与我的列名/维度匹配,因此我尝试创建一个仅引用Layer selection
参数的计算字段,希望它会像在IF中一样指向正确的列/维度。 -声明。但这是行不通的。
有人知道我可以实现此目标的解决方案吗?让我知道问题是否很清楚。