Power Query 处理间断序列数据的展开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Power Query 处理间断序列数据的展开相关的知识,希望对你有一定的参考价值。

参考技术A

Power Query 处理间断序列数据的展开

QQ群中的一道题:

根据年限中的提示,展开到每一年。

看到这个问题就想到Power Query中列表的表达方式:

1..9=1,2,3,4,5,6,7,8,9

正适合用来解决这个问题,我们只需要替换其中的-与、两个符号就可以了,还需要用到一个类似Excel中的宏表函数EVALUATE:

Expression.Evaluate

这个函数可以把文本当成表达式来计算:

像这样:

我们来看这个问题:

我们在源数据上添加自定义列:

我们只需要用Text.Replace嵌套,替换顿号为英文的逗号,替换连字符为两个小数点,在最外层添加两个大括号就好了:

Expression.Evaluate(""&Text.Replace(Text.Replace([年限],"、",","),"-","..")&"")

为了方便观察我们在来添加一列:

上图显示的就是替换的结果,然后用Expression.Evaluate函数计算就可以了。

我们展开自定义列:

透视是否列,不聚合:

我们就得到了想要的结果。

以上是关于Power Query 处理间断序列数据的展开的主要内容,如果未能解决你的问题,请参考以下文章

Power Pivot 时间序列处理

powerquery中使用原始列名作为前缀 啥意思?

power query中M函数和处理数据

使用微软Power BI进行时间序列预测

合并函数Combiner.Combine…(Power Query 之 M 语言)

使用 Power Query 对数据进行分组和转置