无法在数据透视表中创建层次结构

时间:2015-04-01 21:57:46

标签: pivot-table qlikview

这就是我的数据集的样子:

ItemType       ItemCategory         ItemName
ItemType1      ItemCat1             Item1
ItemType1      ItemCat1             Item2
ItemType1      ItemCat2             Item3
ItemType2      ItemCat1             Item4
ItemType2      ItemCat2             Item5
ItemType2      ItemCat2             Item6
ItemType3      ItemCat1             Item7
ItemType3      ItemCat2             Item8
ItemType3      ItemCat1             Item9

我正在尝试在数据透视表中显示它,以便我可以使用ItemCategory作为Row而不是列来获取树视图类型的结构。

ItemType       ItemCat1       ItemCat2
ItemType1      Item1          Item3
               Item2

ItemType2      Item4          Item5
                              Item6

ItemType3      Item7          Item9
               Item8

为实现这一点,这就是我所做的。

我将ItemType和ItemCategory创建为Dimensions,将ItemName创建为Expression。但它没有显示ItemName列中的数据。

我创建了ItemType,ItemCategory和ItemName作为Dimensions,但它不允许我将ItemCategory列拖放到ItemName之上。然而,它显示了数据。

我将ItemType,ItemCategory和ItemName创建为Dimensions,将ItemName创建为Expression,它允许我将ItemCategory拖放到ItemName表达式列的顶部,但结果不是我想要的。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

我认为我能够实现你的目标。

使用的解决方案:

  • ItemType和ItemCategory as Dimensions。
  • Expression,Concat(ItemName,chr(13))
  • 中使用的ItemName
  • 在“数据透视表”属性的“演示文稿”选项卡中,勾选“自动换行单元格文本”复选框,以便在单元格中显示多行。

这里的技巧是Concat功能。由于您对同一ItemCategory和ItemType有多个ItemName,因此您需要一些方法将它们放在一起。 Concat会这样做,通常生成逗号分隔的字符串(你也可以在这里使用Concat(ItemName,','))。

使用表达式Concat(DISTINCT ItemName,chr(13))来确保您不会在同一单元格中重复使用ItemNames也是一个不错的主意。