欢迎光临散文网 会员登陆 & 注册

PowerBI之DAX神功番外篇:第6回 不能使用生成变量数据类型的表达式来定义计算列

2022-01-15 12:51 作者:孙兴华zz  | 我要投稿

大家在新建列时,是否遇到过下面这样的问题?例如我有如下一张表

表名:Sheet1

想给这张表新建列,条件:订单时间大于等于15点时,订单日期自动增加一天,否则返回原订单日期。

上面的公式,会返回下面的错误

这就是我们在《DAX神功》第1卷第4回讲到的数据规范,PowerBI的DAX基于SQL思维,它对数据类型的规范也是基于数据库的。在数据库中,日期虽然也是数字(整型)的一种特殊情况,但是它们二者仍然不是一回事。否则就不用定义出这两种数据类型了。

语法:if(如果条件成立,就返回什么,否则返回什么)

'Sheet1'[订单日期]+1   // 日期与数值进行四则运算,之后返回的是数值

'Sheet1'[订单日期]      // 这是日期类型

新建列时:一个字段里面不能既有数值,又有日期型。

解决方法,就是让数据类型保持一致

一、变成数值型

公式解析:任何数+0还等于这个数本身,日期+0就变成了数值,同理减0也可以

再将数据类型改成日期:

二、变成日期时间型

还有一种方法:《DAX神功》第1卷第4回 讲到的

convert函数:在《火力全开》笔记17.7中也讲过,将这个函数用在新建列中,对每一行的这个单元格进行数据类型转换

三、变成文本型

Format函数:《火力全开》笔记18课讲过,注意Format返回的是文本型

《孙兴华讲PowerBI火力全开》PowerBI必学课程

https://www.bilibili.com/video/BV1qa4y1H7wp

《DAX神功》文字版合集:

https://www.bilibili.com/read/readlist/rl442274

《DAX神功》视频版合集:

https://www.bilibili.com/video/BV1YE411E7p3

《DAX神功番外篇》文字版合集:

https://www.bilibili.com/read/readlist/rl478271

PowerBI(DAX函数)、PowerQuery(M函数)、Python办公自动化、Python爬虫、Python数据分析、ExcelVBA、WordVBA、AccessVBA、MySQL等等

https://www.bilibili.com/read/cv10222110

PowerBI之DAX神功番外篇:第6回 不能使用生成变量数据类型的表达式来定义计算列的评论 (共 条)

分享到微博请遵守国家法律