PowerBI星球案例模型,刷新自动为当天日期是如何做到的?

您看看需不需要 2024-02-20 03:55:44

前天的PowerBI星球案例模型发出后,有不少人对刷新自动更新到今天很感兴趣,后台询问是如何做到的,这篇文章就统一介绍一下。

其实输入路径打开模版文件后,进入PowerQuery编辑器,仔细查看就能发现其中的奥秘,就是订单表中增加的这三个步骤来实现的,如下图。

当你把订单表首次导入并更改字段的数据类型以后,可以看到原始数据中,最大的订单日期是2021年12月31日。

如果想最大日期变成今天的日期,只需要计算出这个最大日期和今天相隔的天数,然后对订单日期列上的所有日期,都加上这个天数就可以了,这就是调整的基本思路。

下面来看看操作步骤:

右键点击处理前的最后一个步骤(本例是更改的类型),"插入步骤后",这样就可以在后面插入一个新的步骤。

然后在编辑栏输入:

= let

a=List.Max(更改的类型[订单日期]),

b=DateTime.Date(DateTime.LocalNow()),

c=Duration.TotalDays(b-a)

in c

这里通过在PowerQuery中使用变量的形式,分步骤来计算的,a计算的是订单日期列的最大日期;b计算的是今天的日期;c是这两个日期相差的天数。

(添加的步骤默认的名称是"自定义",你可以右键对步骤重命名)

这里的计算结果727,就是2021年12月31日距离今天2023年12月28日的天数:

有了这个天数以后,继续像上面的方式一样,添加个新的步骤:

= Table.TransformColumns(

更改的类型,

{{"订单日期", each Date.AddDays(_,最后订单日期距今日天数), type date}}

)

这里用到了Table.TransformColumns函数,它可以在不添加自定义列的情况下,直接对表中的某个字段进行特定处理。

具体处理用的是Date.AddDays函数,把订单日期列的所有日期都移动上面计算出的天数。

同样再添加一个步骤,再对发货日期也加上这个天数:

= Table.TransformColumns(

调整订单日期,

{{"发货日期", each Date.AddDays(_,最后订单日期距今日天数), type date}}

)

这样调整好以后,任意日期刷新,订单表中的最新日期都会是今天。

实际数据分析中,或许你并不会用到这个技巧,不过通过本文的介绍,可以掌握如何通过PowerQuery获取今天的日期、字段的最大日期,以及两个日期之间的差异计算等数据处理相关知识,希望对你有帮助。

PowerBI星球

0 阅读:1

您看看需不需要

简介:感谢大家的关注