日期常见问题

  • 文档创建者:帆软Simon-Wang
  • 历史版本:2
  • 最近更新:帆软Simon-Wang 于 2023-08-17
  • 1. 概述

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

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

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

    时间类型格式示例
    E数通识别后的内容
    年月日时分秒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 中修改单元格日期类型为「星期四」,上传至E数通后仍识别为日期字段,字段值为:「2019-08-01 16:17:32」。

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

    1.3 注意事项

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

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

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

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

    2. 动态时间

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

    问题描述一:

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

    解决方案:

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

    问题描述二:

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

    解决方案:

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

    3. 日期字段转换

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

    方案一:

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

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

    方案二:

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

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

    方案三:

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

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

    3.1 节中不包括日期字段按照「时分秒」分类,我们可以用 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月,如果直接将这个字段改为日期格式,就会报错:

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

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

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

    44.png

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

    问题描述:

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

    解决方案一:

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

    解决方案二:

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

    解决方案三:

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

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

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

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

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

    6. 日期和其他字段拼接

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

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

    附件列表


    主题: 平台管理
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!