Qlik 踩坑:Datetime格式转Date格式

发布时间 2023-12-27 11:18:36作者: zerOneAlchemist

1. 背景

Qlik中Datetime格式的数据转成Date格式数据有两种方式:

  1. Date()函数

  2. Qlik自动日历函数[field.autoCalendar.Date]

经过实践对比发现,使用第一种方法,即Date()函数只改变数据的显示格式,并未改变数据本身。在对数据进行比较或者聚合时参考的还是源数据。

2. 实验

原始数据中,20号的有1条记录,21号的有3天记录

image

情况一:使用Date()函数,只是改变了显示格式,进行聚合时仍按原始数据[YYYY-MM-DD hh:mm:ss],得到错误的结果

image

情况二:使用Date()函数,但对原始数据去除小数部分,此时数据格式为[YYYY-MM-DD],结果正确

image

情况三:使用Qlik自动日历函数[field.autoCalendar.Date],结果正确

image

3. 结论

Date()函数只改变数据的显示格式,并未改变数据本身,其他日期时间函数Time、Year也类似,因此在使用此类函数时最好先裁剪原始数据,否则会得出错误的计算结果。

最稳妥的方式是直接使用Qlik自带的自动日历转换函数。