我尝试了数十个查询来使其正常工作,但是datastudio似乎还不够聪明,无法理解如何查询日期。我已经很容易做到了,但是失败了。我没办法了。
1)我已经尝试过了,直接注入了DS时间戳并重新格式化。这不会带来任何结果。
SELECT member_id, created_at FROM app_activity_stats
WHERE created_at > DATE_FORMAT(@DS_START_DATE,"%Y-%m-%d")
GROUP BY member_id
没有注入@DS_START_DATE
,它不知道如何操作,在DS中使用日期格式时,尺寸设置正确,我尝试了date
,datetime
(对于使用created_at
的尺寸,并且每次我要求按日期过滤时,它都会失败。删除日期范围尺寸,它会给我总体的完美效果,但是日期过滤器呢!
仍然无效。
SELECT member_id, created_at FROM app_activity_stats
GROUP BY member_id
2)我尝试仅使用DISTINCT
来获取唯一值(这也失败了)
SELECT COUNT(DISTINCT member_id) AS active, created_at FROM app_activity_stats
在这里,所有DS所要做的就是根据created_at
插入一个BETWEEN日期范围,这不是火箭科学。
3)我尝试通过直接插入时间戳来尝试使用前一种方法,但它失败了,它不适用于DS动态变量,我无法让它在我的生命中正常工作。< / p>
SELECT COUNT(DISTINCT member_id) AS active, created_at
FROM app_activity_stats
WHERE created_at > DATE_FORMAT(@DS_START_DATE,"%Y-%m-%d")
我也只是出于娱乐目的尝试了这些组合
/* with dashes */
created_at > DATE_FORMAT("@DS_START_DATE","%Y-%m-%d")
/* without */
created_at > DATE_FORMAT(@DS_START_DATE,"%Y%m%d")
/* is it a string itself? who knows */
created_at > @DS_START_DATE
/* lets move it to a string to be sure*/
created_at > "@DS_START_DATE"
/* A FIXED TIMESTAMP WORKS. OF COURSE */
created_at > DATE_FORMAT("2020-10-07","%Y-%m-%d")
什么都不做!
我有一个每小时图表,使用类似的方法,这可行!
似乎可以正确地过滤日期范围,但是上述操作无法做到?
SELECT
COUNT(DISTINCT member_id) AS active,
HOUR(created_at) as hours,
DATE(created_at) as created_at
FROM app_activity_stats
GROUP BY HOUR(created_at)
所有这些的补充。.DS可以与其他所有功能一起工作。我在日期中使用的任何其他数据都可以正常工作。为什么不能做独特的事情!
有点,但这是。很烦人。我曾经看过一些有关DS的主题,这些主题过去有日期问题,但是他们还没有解决?有解决方案吗?
PS:我知道过去可能存在许多这样的问题,这些问题可能会导致重复,但到目前为止,我还没有找到解决方案。
编辑:位于以下位置的DS内置变量:@DS_START_DATE
https://support.google.com/datastudio/answer/6370296#date-params
编辑:添加了更多注释