如何通过将index()与文本字段连接来创建维度计算字段

时间:2015-10-14 12:14:20

标签: indexing concatenation tableau calculated-columns

我创建了一个计算字段(行号),其中计算结果为Index()。然后尝试将其与具有文本数据的字段(Name)连接。然后我创建了另一个计算字段(Concat),其中计算是attr([Name])+' _' + str([Row No.])。 Concat字段显示在Measures下。我如何将其作为维度?

如何创建一个计算字段,该字段将使每个条目都在'名称'通过添加'下划线'还有一个数字?

2 个答案:

答案 0 :(得分:1)

有两种方法可以将其作为Dimension。首先,'ATTR'正在创建一个聚合,这就是它的一个衡量标准。你应该能够删除它并仍然与[Name] +'_'+ str([行号])连接。

第二,您应该能够右键单击Measure并选择Convert to Discrete,然后单击并将其拖动到Dimensions部分。

答案 1 :(得分:0)

您不能基于对表calc函数(例如index())的调用,也不能使用聚合函数(例如sum())。

然而,您可以将度量转换为离散,这样您就可以使用它在视图中创建标题。

有这个限制的充分理由。按操作顺序尽早使用维度将数据行分区为块。它们实际上是SQL语句中的group by子句。然后将sum()等聚合函数应用于每个分区,并且甚至稍后将表格计算应用于聚合查询结果。因此,您无法使用这些结果及时生成数据行的不同分区 - 这就是为什么Tableau不允许您将这些字段设置为维度的原因。

幸运的是,一旦你理解了操作的顺序,你通常可以找到其他方法来达到你需要的效果。

作为脚注,您可以根据FIXED LOD计算字段创建维度,该字段包括对聚合函数的调用 - 例如{FIXED [Region]:CountD([Customer])}。