Google Big Query and Tableau



我在Google大查询中有几个大表。每个表包含相同的列。桌子按月分开。例如。all_relevant_data_january,all_relevant_data_february等。

我想将所有这些数据放入Tableau中以在仪表板中显示,但只使用过滤器或参数一次致电1个月。这是该月的数据仅返回的数据。

我可以在Tableau中创建自定义SQL连接,该连接使用参数仅调用我需要的表。例如。

从中选择 *all_relevant_data_*where monthyear = [月参数]

还是我最好将其全部转储到1个表中,然后使用参数?例如

从中选择 *all_relevant_data_all_monthswhere monthyear = [月参数]

如果我要这样做,它将所有数据加载到Tableau中,还是只能在仪表板上选择哪个月?

我一直在Tableau与TableDaterange挣扎,如果可以的话,不知道该怎么做。

任何帮助都得到了很大的收到。

谢谢。

听起来您对通配符表感兴趣。大多数不利用分区表的用户都设置了其桌子,上面有诸如201701012017020120170301等的后缀。

SELECT * FROM `All_relevant_data_*`
WHERE _TABLE_SUFFIX BETWEEN '20170101' AND '20170301';

如果您的表确实具有JanuaryFebruary等后缀,则您仍然可以使此方法起作用,例如通过从名称中提取月号:

SELECT * FROM `All_relevant_data_*`
WHERE EXTRACT(MONTH FROM PARSE_DATE('%B', _TABLE_SUFFIX)) BETWEEN
  1 AND 3;

如果您想要一个返回月列以分别过滤的查询,则可以使用以下修改的表格之一:

-- Assumes that _TABLE_SUFFIX is e.g. 20170314
SELECT *, PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) AS date
FROM `All_relevant_data_*`;

或:

-- Assumes that _TABLE_SUFFIX is e.g. January
SELECT *, EXTRACT(MONTH FROM PARSE_DATE('%B', _TABLE_SUFFIX)) AS month_number
FROM `All_relevant_data_*`;

最新更新