powerbi怎么去除日期(这样的日期如何在Power)

今天分享一个日期格式转换的小技巧。

日常接触的数据中,你应该碰到过这样的日期格式,8位数字的日期编码:

powerbi怎么去除日期(这样的日期如何在Power)(1)

看起来知道这是日期,但其实并不是标准的日期格式,数据分析时,系统也无法将它直接识别为日期使用,那么如何将它转换为正常的日期格式呢?

这种转换并没有难度,直观想到的做法一般是,分别提取前四位,中间两位和后两位的字符,作为年月日,再合并到一起,这样当然是可以实现的,不过还有更简单的解决办法。

方法1:PowerQuery直接修改数据类型

这种转换用PowerBI处理非常简单,导入到PowerQuery,首先保证该列为文本型,

powerbi怎么去除日期(这样的日期如何在Power)(2)

然后直接将这一列的数据类型修改为日期型,即可自动完成转换。

powerbi怎么去除日期(这样的日期如何在Power)(3)

在Excel中可以同样操作快速完成转换。

方法二:利用DAX函数:FORMAT

上面是用PowerQuery处理的,其实用DAX进行转换也很简单,只需要用FORMAT函数就可以了。

日期格式 = FORMAT([日期],"0000-00-00")

powerbi怎么去除日期(这样的日期如何在Power)(4)

是不是也很简单。

用这种方式,首先要保证8位数字的日期列是数值型,如果是文本就先转换为数值型,才能转换成功。

并且经过FORMAT处理后的结果都是文本型,所以还要将这个新的计算列的类型更改为日期型,才能变成真正的日期列。

powerbi怎么去除日期(这样的日期如何在Power)(5)

以上两种方法都可以快速完成转换,一般情况下,对于数据的清洗,能用PowerQuery处理的,建议先在PowerQuery中处理好,再上载到数据模型中,也就是优先使用上面的第一种方法。


另外,日常分析拿到的数据还会经常碰到一种情况,日期维度只有年月,像下面这种:

powerbi怎么去除日期(这样的日期如何在Power)(6)

如果你需要运用时间智能函数进行灵活的分析,依然需要添加一个日期列,来与日期表建立关系。

一般可以添加一列,该年月的第一天作为日期,这就涉及到如何将年月直接转换为年月日的日期。

这种转换,同样可以用上面两种方法,只需要在最后加上两位字符“01”,就变成了8位编码,添加方式可以用年月*100 1的方式,比如202108乘以100,再加上1,就变成了20210801。

如果用FORMAT,直接这样写,就可以完成转换:

日期列 = FORMAT([年月]*100 1,"0000-00-00")

对于已经转换为日期格式的日期,假如想让它显示为其他的形式,比如月份、星期几,也都可以利用FORMAT函数来完成,只需要灵活使用它的第二个参数就可以了:

powerbi怎么去除日期(这样的日期如何在Power)(7)

更多FORMAT函数的用法,参考:利用FORMAT函数自定义数据格式

更对精彩

玩转十三个PowerBI图表,轻松搞定数据可视化

使用PowerBI完美制作魔力象限图,文中有神器推荐!

Power Automate协同PowerBI,自动给任何人发送数据警报邮件

采悟 | PowerBI星球

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页