1. 概述
本文档收集用户在分析的过程中,使用日期字段时遇到的常见问题及对应文档,帮助与指导用户快速找到想要的答案。
拓展阅读:
1.1 可识别为日期的文本字段
仅以下格式的文本字段可识别为时间类型:
时间类型 | 格式 | 示例 | 本产品识别后的内容 |
---|---|---|---|
年月日时分秒 | yyyyMMdd HH:mm:ss | 20221018 16:32:47 | 2022-10-18 16:32:47 |
yyyy/MM/dd HH:mm:ss | 2022/10/18 16:32:47 | 2022-10-18 16:32:47 | |
yyyy-MM-dd HH:mm:ss | 2022-10-18 16:32:47 | 2022-10-18 16:32:47 | |
MM/dd/yyyy HH:mm:ss | 10/18/2022 16:32:47 | 2022-10-18 16:32:47 | |
年月日时分 | yyyyMMdd HH:mm | 20221018 16:32 | 2022-10-18 16:32:00 |
yyyy-MM-dd HH:mm | 2022-10-18 16:32 | 2022-10-18 16:32:00 | |
年月日时 | yyyy-MM-dd HH | 2022-10-18 16 | 2022-10-18 16:00:00 |
年月日 | yyyy/MM/dd | 2022/10/18 | 2022-10-18 |
yyyy-MM-dd | 2022-10-18 | 2022-10-18 | |
MM/dd/yyyy | 10/18/2022 | 2022-10-18 |
1.2 支持的日期格式
以 「2019/8/1 16:17:32」为例,在 Excel 中修改单元格日期类型为「星期四」,上传到本产品后仍识别为日期字段,字段值为:「2019-08-01 16:17:32」。
支持识别的日期格式如下图所示:
1.3 注意事项
如果将日期类型转化为年/月/季度等,是为了在仪表板中绑定筛选器筛选出年/月/季度,那么不需要进行转化,对应的时间筛选器绑定原日期字段都可以生效。例如原日期字段为「年月日」,在仪表板中添加年份筛选器,绑定该字段,即可过滤出对应年份的数据。
如果是想要在仪表板中展示年份数据且想要进行筛选,可以将类型转化为年份,同时保留原字段,添加的时间筛选器绑定原日期字段即可。
如果想转化成其他的日期类型,我们提供一些公式来实现,详情参见第 3 节。
2. 动态时间
用户可以设置过滤值为相对于当前时间的动态时间,可以随着日期变化而变化。
问题描述一:
可以在仪表板中动态展示本月的数据吗?
解决方案:
可以的。在仪表板中添加日期区间筛选器,在动态时间里设置好相对当前时间的相关信息即可。详情参见文档:过滤动态时间
问题描述二:
我只想在分析表中动态筛选出近一个月的数据,怎么操作呢?
解决方案:
在历史步骤中添加「筛选」步骤,添加筛选条件,对日期字段进行动态时间设置,如下图所示:
3. 日期字段转换
3.1「2021-12-06 08:35:02」转换成「2021-12-06」
添加「字段类型转换」步骤,将「年月日时分秒」格式转换为「年月日」格式。如下图所示:
3.2「2021-12-06 08:35:02」转换成「08:35:02」
若需要提取「时分秒」信息,可以用 FORMAT 函数来实现,公式为:FORMAT([订单时间],"HH:mm:ss")。如下图所示:
使用 FORMAT 函数将日期字段转化成「时分秒」分类,该字段就会变成文本格式。若后续步骤想要实现日期筛选的效果,可以将原日期字段保留,筛选器绑定原日期字段。
3.3「2021-12-06 08:35:02」转化为「20211206083502」
如果想要年月日时分秒的类型转化为数值型格式,也可以使用 FORMAT 函数,公式为:FORMAT([订单时间],"YYYYmmddHHmmss")。如下图所示:
3.4「2022年10月」转化为「2022-10」
字段类型为文本,内容为 2022年10月,可以通过「字段类型转换」步骤,将文本按格式「2020年01月」转成「年月」格式。
3.6 时间为 20221018 的文本或数值字段转化为日期字段
若是文本类型字段,可直接在分析表中通过「字段类型转换」步骤将其转成日期字段;
若是数值类型字段,需要先转成文本字段,再使用「字段类型转换」步骤将其转成日期字段。
若是想要修改数据源表中的数据(Excel 表),可对该表编辑,直接修改为日期类型。
4. 计算两个日期字段的间隔天数
5. 获取当月第一天/最后一天
获取当天时间公式:today(),例如今天为 2022-10-25,该公式获取的时间为:2022-10-25;
获取当月第一天公式:date(year(today()),month(today()),1),例如今天为 2022-10-25,该公式获取的时间为:2022-10-01;
获取当月最后一天公式:date(year(today()),month(today())+1,0),例如今天为 2022-10-25,该公式获取的时间为:2022-10-31;
获取当月月底前一天公式:date(year(today()),month(today())+1,-1),例如今天为 2022-10-25,该公式获取的时间为:2022-10-29;
获取当月月底前两天公式:date(year(today()),month(today())+1,-2),例如今天为 2022-10-25,该公式获取的时间为:2022-10-29;
获取当天的前一天公式:date(year(today()),month(today()),day(today())-1),例如今天为 2022-10-25,该公式获取的时间为:2022-10-24;
获取当天的前两天公式:date(year(today()),month(today()),day(today())-2),例如今天为 2022-10-25,该公式获取的时间为:2022-10-23;
......
利用以上公式和 DATEDIF 函数,我们可以计算这个月的剩余天数,公式为:DATEDIF(TODAY(),date(year(today()),month(today())+1,0),"D")。