我有一个带有
date
字段 UTC 时区的表,但我想将其更改为数据工作室中的另一个时区。我使用以下公式在数据工作室中创建了一个新字段:TODATE(update_date,"America/Chicago")
,但它无法正常工作。
有任何想法吗?我不会更改源表来添加新列(日期转换)。
现在可以使用最近推出的(2020 年 9 月 17 日更新)日期和时间函数在 Google Data Studio 中完成时区计算。
确保日期字段已升级为较新的日期字段类型。
添加了 GIF 来详细说明:
America/Chicago
下面的计算字段结合使用
DATETIME_DIFF
和CURRENT_DATETIME
来获得两个时区(UTC
和America/Chicago
)之间的差异,然后减去SECOND
中的差异
来自日期字段(在本报告中名为 Date
):
PARSE_DATETIME(
"%s",
CAST(CAST(FORMAT_DATETIME("%s", Date)AS NUMBER) - DATETIME_DIFF(CURRENT_DATETIME("UTC"), CURRENT_DATETIME("America/Chicago"), SECOND)AS TEXT))
Google Data Studio 报告 和 GIF 来详细说明:
我长期以来一直在寻找这个问题的答案,并遇到了很多复杂的间接方法,直到我能够实现一些看起来非常简单和直接的东西。
基本上,在数据源连接中,您将日期选择字段设置为:
DATE('your_timefield', @timezone)
如果使用日期范围参数,它将类似于:
PARSE_DATE('%Y%m%d', @DS_START_DATE) 和 PARSE_DATE('%Y%m%d', @DS_END_DATE) 之间的 DATE('your_timefield', @timezone)
下一步,创建一个“参数”,如下所示
您可以选择任何时区作为“默认”
现在,在您的报告中,您可以发布一个下拉菜单,为用户提供在时区之间切换的选项
就像一个魅力。 此外,在将其用于显示时间(趋势或其他形式)等操作时,在选择日期/时间时使用相同的参数,以便时间字段也反映时区。您可以使用日期时间函数,如下所示
DATETIME("your_timefield", @timezone) 作为 your_timefield
如果您使用 BigQuery 并且直接指向表或视图,请改为指向 SQL 查询,然后使用
SELECT * REPLACE
更改为所需的时区,如下所示...
SELECT * REPLACE(DATETIME(timestamp, 'America/Los_Angeles') AS timestamp) FROM dataset_name.table_name