Excel数据透视表添加计算度量后显示全量员工 如何隐藏无工时数据行
问题原因
你遇到的问题核心是现有计算度量的返回逻辑导致:当工时<1时你返回的是空字符串""而非真正的空值,数据透视表会判定该行存在有效返回值,因此会展示所有历史有出勤记录的员工;同时文本类型的计算度量默认不支持放到报表筛选区域,所以拖拽时会报错。
解决方法
方案1(最优:修改计算度量逻辑)
把原计算度量里的空字符串替换为NULL,修改后的公式如下:IIF([Measures].[Hours]<1,NULL,IIF([Measures].[Hours]>=160,"Yes","No"))
修改后工时小于1的行将返回真正的空值,数据透视表会自动隐藏这类无有效数据的行,直接回归到仅显示8月出勤且工时≥1员工的效果。方案2(无需修改度量:使用值筛选)
不需要调整度量公式,直接对现有表格做值筛选即可:
- 右键点击数据透视表内任意一个「工时」列的单元格
- 在弹出菜单中选择「值筛选」→「大于或等于」
- 弹窗中输入数值
1,点击确定即可完成筛选,表格会自动隐藏工时不足1小时的员工行。
- 方案3(Power Pivot模型适用)
如果你是基于Power Pivot数据模型创建的透视表,也可以打开Power Pivot窗口,在对应表的「计算区域」找到该度量,调整返回逻辑,或者直接在透视表的行标签下拉菜单中,选择值筛选,绑定工时字段设置≥1的条件即可。
内容的提问来源于stack exchange,提问作者user3634056
相关产品推荐
相关产品推荐

