Как запросить секционированную таблицу в BigQuery из Tableau

В Google BigQuery есть секционированная таблица, которую мы запрашиваем с помощью поля _PARTITIONTIME (в противном случае запросы будут стоить слишком дорого).

Как я могу заставить Tableau использовать псевдостолбец _PARTITIONTIME?

2 ответа

Решение

При настройке источника данных в Tableau выберите "Google BigQuery" из списка доступных источников, пройдите танец OAuth, а затем выберите свой проект и набор данных.

На этом этапе вам будет представлен список таблиц в наборе данных, а также опция "Новый пользовательский SQL" внизу. Выберите эту опцию и введите свой запрос в точности так, как вы его использовали. Предполагая, что запрос содержит сегмент, аналогичный приведенному ниже:

...WHERE _PARTITIONTIME BETWEEN TIMESTAMP(“2016-05-01”) AND TIMESTAMP(“2016-05-06”)

Теперь выделите даты в предложении where и щелкните в раскрывающемся меню "Вставить параметр" в редакторе запросов. Это позволит вам параметризовать ваш запрос и динамически выбирать даты, которые вы хотите запросить, из вашей рабочей таблицы!

Надеюсь, это поможет!

Более гибким решением было бы просто перетащить таблицу, как обычно. После этого нажмите "источник данных - преобразовать в пользовательский SQL". Таким образом, таблица написала большую часть SQL для вас. Последняя часть.... НЕ добавляйте предложение where и останавливайте исследование пользователей. Добавьте это вместо:

_PARTITIONTIME КАК mypartitiondate

Теперь вы можете использовать это как любой другой столбец даты, но вместо этого вы используете время разделения. Предостережения от этого: если вы используете этот столбец, вы не сможете развернуть его ниже уровня разделов (например, пытаясь увидеть ежечасные сделки по ежедневному разделенному набору данных). Это потребует знаний пользователя, чтобы начать использовать другой столбец даты для этой части.

Другие вопросы по тегам