Power Query中如何将物料编码与日期列的年月合并
Power Query中如何将物料编码与日期列的年月合并
嗨,我来帮你搞定这个问题~你遇到的Token',' expected报错,大概率是因为引用日期部分的语法不对,或者列名的写法有问题,我给你一步步讲怎么弄:
首先,打开Power Query编辑器(就是你点的「转换数据」入口),然后按下面的步骤来:
- 切换到「添加列」选项卡,点击「自定义列」
- 在弹出的自定义列对话框里,输入正确的公式,这里要注意所有要拼接的内容都得转成文本格式,不然数值类型会直接相加而不是拼接,比如:
这里的Text.From([itemnumber]) & "-" & Text.From(Date.Month([report_date])) & "-" & Text.From(Date.Year([report_date]))"-"是分隔符,你可以换成下划线"_"或者直接空字符串"",完全看你需要的格式。
如果想让月份显示成两位(比如1月显示为01而不是1),可以用下面的优化版公式,看起来更规整:
Text.From([itemnumber]) & "-" & Text.PadStart(Text.From(Date.Month([report_date])), 2, "0") & "-" & Text.From(Date.Year([report_date]))
为啥你之前的写法会报错呢?给你分析下:
- 第一种写法
[itemnumber] & [report_date].[MonthNo] & [report_date].[Year]:Power Query里不能直接用.MonthNo这种方式提取日期的月份/年份,必须用Date.Month()和Date.Year()这两个函数来提取对应的值 - 第二种写法如果还是报错,可能是你的列名实际有空格(比如原列名是
item number而不是itemnumber),这时候要把列名写成[item number](带空格的列名必须用方括号包裹),或者检查下有没有拼写错误
按照上面的步骤操作,应该就能顺利生成合并后的新列啦~
备注:内容来源于stack exchange,提问作者chinnu564




