这就是我的数据集的样子:
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表达式列的顶部,但结果不是我想要的。
我在这里缺少什么?
答案 0 :(得分:0)
我认为我能够实现你的目标。
使用的解决方案:
这里的技巧是Concat功能。由于您对同一ItemCategory和ItemType有多个ItemName,因此您需要一些方法将它们放在一起。 Concat会这样做,通常生成逗号分隔的字符串(你也可以在这里使用Concat(ItemName,','))。
使用表达式Concat(DISTINCT ItemName,chr(13))来确保您不会在同一单元格中重复使用ItemNames也是一个不错的主意。