每周的Google Data Studios strptime

问题描述

我有一个[DOW索引]列,其中包含以[0-6]的字符串形式存储的星期几值,0是星期日。我也尝试过将列转换为数字,但会得到null。

我正在尝试使用:

TODATE([DOW Index],'%w','%a')

将数值转换为缩写的语言环境日期。这只是给我所有输入的星期四。

我可以使用:

CASE
WHEN DOW Index = '0' THEN 'Sunday'
WHEN DOW Index = '1' THEN 'Monday'
WHEN DOW Index = '2' THEN 'Tuesday'
WHEN DOW Index = '3' THEN 'Wednesday'
WHEN DOW Index = '4' THEN 'Thursday'
WHEN DOW Index = '5' THEN 'Friday'
WHEN DOW Index = '6' THEN 'Saturday'
END

但是排序不正确。可以在这里提供任何帮助吗?

  • 作为测试,我尝试将时间转换为小时(12 AM、1AM等),并且可以正常使用:

    TODATE([DOW指数],'%H','%H')

解决方法

一种方法是创建一个完成日期字段(YearMonthDay组件)并将“类型”设置为Day of Week

1)日期

PARSE_DATE("%F",REGEXP_REPLACE(CONCAT("2021-02-0",DOW Index),"^(2021-02-00)$","2021-01-31"))

2)类型

Date > Day of Week

Editable Google Data Studio Report和要详细说明的GIF: