powerbi数字为啥转不了日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powerbi数字为啥转不了日期相关的知识,希望对你有一定的参考价值。

方法1:PowerQuery直接修改数据类型
这种转换用PowerBI处理非常简单,导入到PowerQuery,首先保证该列为文本型,

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

在Excel中可以同样操作快速完成转换。
方法二:利用DAX函数:FORMAT
上面是用PowerQuery处理的,其实用DAX进行转换也很简单,只需要用FORMAT函数就可以了。
日期格式 = FORMAT([日期],"0000-00-00")

是不是也很简单。
用这种方式,首先要保证8位数字的日期列是数值型,如果是文本就先转换为数值型,才能转换成功。
并且经过FORMAT处理后的结果都是文本型,所以还要将这个新的计算列的类型更改为日期型,才能变成真正的日期列。

以上两种方法都可以快速完成转换,一般情况下,对于数据的清洗,能用PowerQuery处理的,建议先在PowerQuery中处理好,再上载到数据模型中,也就是优先使用上面的第一种方法。
另外,日常分析拿到的数据还会经常碰到一种情况,日期维度只有年月
参考技术A 方法1:PowerQuery直接修改数据类型
这种转换用PowerBI处理非常简单,导入到PowerQuery,首先保证该列为文本型,

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

在Excel中可以同样操作快速完成转换。
方法二:利用DAX函数:FORMAT
上面是用PowerQuery处理的,其实用DAX进行转换也很简单,只需要用FORMAT函数就可以了。
日期格式 = FORMAT([日期], "0000-00-00")

是不是也很简单。
用这种方式,首先要保证8位数字的日期列是数值型,如果是文本就先转换为数值型,才能转换成功。
并且经过FORMAT处理后的结果都是文本型,所以还要将这个新的计算列的类型更改为日期型,才能变成真正的日期列。

以上两种方法都可以快速完成转换,一般情况下,对于数据的清洗,能用PowerQuery处理的,建议先在PowerQuery中处理好,再上载到数据模型中,也就是优先使用上面的第一种方法。
另外,日常分析拿到的数据还会经常碰到一种情况,日期维度只有年月,像下面这种:

如果你需要运用时间智能函数进行灵活的分析,依然需要添加一个日期列,来与日期表建立关系。
一般可以添加一列,该年月的第一天作为日期,这就涉及到如何将年月直接转换为年月日的日期。
这种转换,同样可以用上面两种方法,只需要在最后加上两位字符“01”,就变成了8位编码,添加方式可以用年月*100+1的方式,比如202108乘以100,再加上1,就变成了20210801。
如果用FORMAT,直接这样写,就可以完成转换:
日期列 = FORMAT([年月]*100+1,"0000-00-00")
对于已经转换为日期格式的日期,假如想让它显示为其他的形式,比如月份、星期几,也都可以利用FORMAT函数来完成,只需要灵活使用它的第二个参数就可以了:

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

以上是关于powerbi数字为啥转不了日期的主要内容,如果未能解决你的问题,请参考以下文章

在 PowerBI 中将数字转换为日期格式

powerbi点击文字跳转界面

powerbi切片器细分变大

powerbi切片器的技巧?

powerbi切片器间不关联

通过布尔值(PowerBI、Python)在表中定义日期周期