本文比较简单,只是某个客户在进行报表制作初期碰到的一个小问题,略作描述,以示避坑。
问题描述
以下是数据表
示例文件只有两列,一列订单日期,显示数据类型为日期(时间范围是2022-2023年);一列销售额,数据类型为小数。
用DAX书写了正确时间范围内的日期表,并且将date列标记准确。
两个表之间建立了正确的一对多关系:
正确书写了两个度量值:
sales1 = SUM(data1[销售额])
年累计1 = TOTALYTD([sales1],'日期表'[Date])
但是,拖入矩阵时,显示如下:
数据表中可以看到,只有2022-2023年的数据,并且2023年是有数据的,正常情况下不会出现如上图所示的问题。
发现症结
那么情况出现在哪里呢?
我们将数据表的订单日期列的数据类型设置为日期/时间,我们就会发现端倪,原来它隐含了时间信息:
此时我们去到powerquery里面查看,这一列果然是日期/时间格式:
原来是客户原来的数据文件就是带有时间格式,在powerquery里导入的时候,系统直接自动设置为了日期/时间格式,客户就没有改动,直接加载到模型中。
但是在模型中,客户觉得只需要日期列,不需要时间信息,就在模型中表格视图列工具里的数据类型设置为日期。而这,也就为后续的计算带来了麻烦。
解决问题
只是一个小问题,我们只需在powerquery里将这一列订单日期设置为日期格式,就解决了。
总结
从这个小的问题中,有几点想要跟大家分享:
1、尽量不要让powerquery自动设置字段格式,它很有可能会将数据设置成不是我们想要的,可以在设置中将其关闭。当然,设置里还有很多其他的自动功能最好都关闭,比如自动关系、自动时间智能等。
2、“表格视图列工具里的数据类型”与“powerquery转换里的数据类型”这两者是不同的。PQ转换那是直接换血,表格视图顶多算得上是易容术。
本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!