首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Data Studio -TODATE(输入,"%Y%m")落后一个月

Data Studio -TODATE(输入,"%Y%m")落后一个月
EN

Stack Overflow用户
提问于 2017-09-08 22:41:21
回答 6查看 8.7K关注 0票数 2

我想按月绘制时间序列,但我的输入数据格式为"%Y-%m-%d“。因此,我使用以下公式创建了另一个时间维度:

代码语言:javascript
运行
复制
TODATE(date, "%Y%M")

我的问题是,新的维度比应该的晚了一个月。例如,输入日期'2017-08-15‘会导致'2017-07’(或者该信息在任何data studio的内部日期结构中)。结果是,时间序列指标的变化似乎比实际发生的时间早了一个月。下面是一个带有google sheets数据和结果图的玩具示例的屏幕截图。请注意,时间序列图设置为cumulative:

8月份计数增加的数据:

显示7月份计数增加的时间序列图:

2017年8月数量的增加似乎发生在7月份。虽然这些数据来自工作表,但我的实际问题中的数据来自Postgres DB表,所以我认为这不是数据源的问题。我做错了什么?

EN

回答 6

Stack Overflow用户

发布于 2019-05-06 19:31:19

类似的问题:

  1. todate(date, 'DEFAULT_DASH', "%m %Y")导致了一个月后的“月、年”配置。
  2. 此外,在数据类型字段中对YYYYMM使用建议的日期格式也不起作用。

解决方案(对我来说):首先使用包含日期的todate函数(即todate(date, 'DEFAULT_DASH', "%d %m %Y"),然后将日期格式设置为年、月(YYYYMM)。

票数 1
EN

Stack Overflow用户

发布于 2019-08-12 20:05:07

列出的解决方案中没有一个对我有效。然而,我注意到,

代码语言:javascript
运行
复制
TODATE(start_date,'%Y%m%d','%m')

正确的月份。

因此,我选择了一种过度杀伤力:

  1. CONCAT(TODATE(start_date,'%Y%m%d','%Y'),TODATE(start_date,'%Y%m%d','%m'))
  2. Convert到YYYYMM,或源字段列表中的'%Y%m‘。
票数 1
EN

Stack Overflow用户

发布于 2018-02-21 11:05:25

这是一个非常简单的修复,不确定我是如何忽略它的。不使用函数TODATE(),只需将数据类型字段中的日期格式更改为YYYYMM即可。我必须假设这个字段对应于输入格式,而不是输出:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46119033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档