历史版本16 :日期常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文档收集用户在使用九数云进行分析的过程中,在使用日期字段时遇到的常见问题及对应文档,帮助与指导用户快速找到想要的答案。

拓展阅读

  • 日期函数概述 中,罗列了九数云支持的所有日期函数,用户可以查找自己想要的函数并使用。

  • 在 日期常见问题 中,搜集了用户在实际使用过程中遇到的与日期相关的问题,涵盖了如何设置动态时间,各种日期格式的转化等内容,旨在帮助更多用户轻松上手学习。

1.1 可识别为日期的文本字段

仅以下格式的文本字段可识别为时间类型:

时间类型格式示例
九数云识别后的内容
年月日时分秒yyyyMMdd HH:mm:ss20221018 16:32:472022-10-18 16:32:47
yyyy/MM/dd HH:mm:ss2022/10/18 16:32:47

2022-10-18 16:32:47

yyyy-MM-dd HH:mm:ss

2022-10-18 16:32:472022-10-18 16:32:47
MM/dd/yyyy HH:mm:ss10/18/2022 16:32:472022-10-18 16:32:47
年月日时分yyyyMMdd HH:mm20221018 16:32

2022-10-18 16:32:00

yyyy-MM-dd HH:mm2022-10-18 16:32

2022-10-18 16:32:00

年月日时yyyy-MM-dd HH2022-10-18 162022-10-18 16:00:00
年月日yyyy/MM/dd2022/10/182022-10-18
yyyy-MM-dd 2022-10-182022-10-18
MM/dd/yyyy10/18/20222022-10-18

1.2 支持的日期格式

以 「2019/8/1 16:17:32」为例,在 Excel 中修改单元格日期类型为「星期四」,上传至九数云后仍识别为日期字段,字段值为:「2019-08-01 16:17:32」。

支持识别的日期格式如下图所示:

8.png

1.3 注意事项

在九数云中,只有日期类型为「年月日」或者「年月日时分秒」的时候字段才显示为日期字段,其余类型显示为文本或者数值类型。

  • 如果将日期类型转化为年/月/季度等,是为了在仪表板中绑定筛选器筛选出年/月/季度,那么不需要进行转化,对应的时间筛选器绑定原日期字段都可以生效。例如原日期字段为「年月日」,在仪表板中添加年份筛选器,绑定该字段,即可过滤出对应年份的数据。

  • 如果是想要在仪表板中展示年份数据且想要进行筛选,可以将类型转化为年份,同时保留原字段,添加的时间筛选器绑定原日期字段即可。

  • 如果想转化成其他的日期类型,我们提供一些公式来实现,详情参见第 3 节。

2. 动态时间编辑

用户可以设置过滤值为相对于当前时间的动态时间,可以随着日期变化而变化。

问题描述一:

可以在仪表板中动态展示本月的数据吗?

解决方案:

可以的。在仪表板中添加日期区间筛选器,在动态时间里设置好相对当前时间的相关信息即可。详情参见文档:过滤动态时间

问题描述二:

我只想在分析表中动态筛选出近一个月的数据,怎么操作呢?

解决方案:

在历史步骤中添加「筛选」步骤,添加筛选条件,对日期字段进行动态时间设置,如下图所示:

7.png

3. 日期字段转换编辑

3.1「2021-12-06 08:35:02」转换成「2021-12-06」

方案一:

数据中的日期字段展示为年月日时分秒,但是只想要展示年月日,可以历史步骤中增加「分类汇总」,对日期字段的分组设置为「年月日」,下图所示:

8.png

九数云支持的时间分类类型有:年月日、年周数、年月、年季度、年、季度、月份、月日、周数、星期、日、时、秒、分、年月日时分秒,都可以通过上述方式进行转换。

方案二:

如果是在制作图表时想要更改日期字段的分组方式,可以直接对该字段更改分类,如下图所示:

注:明细表中日期字段不可以更改分组方式,需要按照方案一在分析表中进行修改。

10.png

方案三:

如果字段较多,分类汇总拖字段比较麻烦,可以新增字段,使用 FORMAT 函数来获取年月日,定义这个字段类型为日期,也可以实现上述场景。公式为:FORMAT(订单时间,"yyyy-MM-dd")如下图所示:

3.png

3.2「2021-12-06 08:35:02」转换成「08:35:02」

3.1 节中不包括日期字段按照「时分秒」分类,我们可以用 FORMAT 函数来实现,公式为:FORMAT(订单时间,"HH:mm:ss")。如下图所示:

9.png

使用 FORMAT 函数将日期字段转化成「时分秒」分类,该字段就会变成文本格式。若后续步骤想要实现日期筛选的效果,可以将原日期字段保留,筛选器绑定原日期字段。

3.3「2021-12-06 08:35:02」转化为「20211206083502」

如果想要年月日时分秒的类型转化为数值型格式,也可以使用 FORMAT 函数,公式为:FORMAT(订单时间,"YYYYmmddHHmmss")。如下图所示:

12.png

3.4「2022年10月」转化为「2022-10」

字段类型为文本,内容为 2022年10月,如果直接将这个字段改为日期格式,就会报错:

24.png

我们可以使用 TODATE 函数来解决这个场景问题,公式为:TODATE(测试,"yyy'年'MM'月")任何带 yyyyMMdd 的格式,都可以转换成标准时间格式。转化为日期字段后,再按照 3.1 节的分类汇总中更改日期分组为年月即可。

20.png

3.5「2022-10」转化为日期字段「2022-10-1」

同 3.4 节,「2022-10」也是不能直接转化为日期字段,需要使用到公式:TODATE(测试,"yyy-MM"),如下图所示:

44.png

3.6  时间为 20221018 的文本或数值字段转化为日期字段

问题描述:

如果在 Excel 中的年月日类型为:yyyyMMdd,例如 20221018。在 Excel 中为文本或者数值格式,在上传至九数云会变成数值字段,如下图所示:

4.png

解决方案一:

我们可以直接将这个字段更改为「日期」类型,如下图所示:

5.png

解决方案二:

在上传时没有修改字段类型的话,在编辑这张数据表时也可以更改。但是需要两次字段类型转换,需要先将数值字段先转换为文本,再将文本字段转换为日期,如下图所示:

6.png

解决方案三:

使用公式:TODATE(字段列,"yyyyMMdd"),也可以将 20201018 转化为日期字段 2022-10-18。如下图所示:

75.png

4.  计算两个日期字段的间隔天数编辑

例如在合同事实表中,有注册时间和合同签约时间两个时间,我想要计算两个字段之间的天数差,可以用到 DATEDIF 函数来实现,公式为:DATEDIF(合同签约时间,注册时间,"D")。如下图所示:

11.png

使用 DATEDIF 函数时,初始日期需在终止日期之前,否则计算出的结果会出错,如下图所示:

13.png

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")如下图所示:

20.png

6. 日期和其他字段拼接编辑

例如两个字段,时间和城市,内容有「2021-12-06 08:35:02」和「杭州」,我想把数据拼接为「20211206083502杭州」作为一个新字段进行展示。

我们可以先按照 3.3 节的方式将日期形式「20211206083502」,再使用 CONCATENATE 将两个字段合并为一个进行展示,如下图所示:

26.png