如何在Power BI中通过表格/矩阵实现结构元素编号的层级下拉列表
Power BI 实现多级结构编号的层级归属显示
一、先正确拆分层级列(解决你之前拆分失败的问题)
直接用Power Query编辑器处理,步骤如下:
- 选中你的结构元素编号列,进入「转换」选项卡,点击「拆分列」→「按分隔符」
- 分隔符选
.,高级选项里选择「拆分为列」,并指定最大层级数(比如你有3级就填3),点击确定 - 自动生成的列会命名为
结构元素编号.1、结构元素编号.2、结构元素编号.3,可以重命名为Level1、Level2、Level3 - 把这些层级列的类型改成「文本」,避免数字格式导致的异常(比如1.1不会被识别为小数)
二、用矩阵可视化实现层级归属
- 插入矩阵控件,把
Level1拖到「行」区域,接着把Level2拖到「行」区域的Level1下方(会自动嵌套),再拖Level3到Level2下方 - 把你的结构元素编号列拖到「值」区域,或者直接拖到行区域的最内层,替换默认的聚合值
- 点击矩阵左上角的折叠/展开按钮,就能看到子级(如1.1、2.1.1)自动归属到对应的父级(1、2)下方
备选方案:用DAX创建父级关系列
如果拆分层级列后还是有问题,可以用DAX生成父级编号列,辅助层级识别:
父级编号 = VAR CurrentPathLength = PATHLENGTH('你的表名'[结构元素编号]) RETURN IF(CurrentPathLength > 1, PATHITEM('你的表名'[结构元素编号], CurrentPathLength - 1, TEXT), BLANK())
生成后,你可以在模型视图中建立表的自关联(父级编号关联结构元素编号),再用矩阵的层级功能展示
内容的提问来源于stack exchange,提问作者JuAJe
相关产品推荐
相关产品推荐

