加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,还可以提问交流。
客户按天和产品把库存上传到数据库中的库存表,用作PowerBI的数据源,行数太多导致模型很大。从业务角度考虑,只需要看每个客户每月最后一天的库存,希望能做这样的筛选,把库存表的行数变为原来的约1/30,减少冗余数据。
原始库存表
处理后的库存表
解决方案
使用分组功能,提取每个客户每月的最大日期的数据。
操作步骤
STEP 1 PowerQuery获取数据后,点击菜单栏添加列下的自定义列,新增一列年月,用作辅助列。
STEP 2 按住Ctrl键选择客户列和年月列,点击菜单栏转换下的分组依据,按照客户、年月分组,一列命名为每月最大日期,操作对日期取最大值,一列命名为待处理,操作取所有行。
STEP 3 点击待处理列标题右侧的展开按钮,选择日期、产品、库存,去掉使用原始列名作为前缀的挑勾以保持列名的简洁性。
STEP 4 对日期列筛选任何一个值,然后把等号后面的部分改为[每月最大日期],这样就留下了第二步中客户、年月对应的最大日期的数据。
STEP 5删除每月最大日期列,就得到了想要的结果。
拓展
本文用分组取了最大值,实际工作中还会有很多应用场景,比如客户第一次/最近一次购买数据等。