2017-03-14 19 views
0

Google Big Queryにはいくつかの大きなテーブルがあります。各テーブルには同じ列が含まれています。テーブルは月ごとに分割されています。例えば。 all_relevant_data_January、all_relevant_data_februaryなどGoogle Big QueryとTableau

私はこのデータをすべてTableauに表示し、ダッシュボードに表示したいのですが、フィルタまたはパラメータを使用して一度に1カ月しか呼び出しません。これは、その月のデータが返されるようになっているためです。

テーブルを必要とするテーブルのみを呼び出すためにパラメータを使用するカスタムSQL接続を作成することはできますか。例えば。 monthyear = [月パラメータ]

または私はより良い午前は1つのテーブルにすべてをダンプして、パラメータを使用する All_relevant_data_から

選択* * ?例えば

All_relevant_data_all_months から

選択*どこmonthyear = [月パラメータ]

私はこれを行うとしたら、それはタブローにすべてのデータをロードするか、それだけで私はダッシュボードで選択した方の月呼びますか?

私はtableauのtabledaterangeに苦労しています。これがオプションの場合、これを行う方法はわかりません。

ヘルプがよろしくです。

ありがとうございました。

答えて

0

wildcard tablesに興味があります。

SELECT * FROM `All_relevant_data_*` 
WHERE _TABLE_SUFFIX BETWEEN '20170101' AND '20170301'; 
partitioned tablesを活用していないほとんどのユーザーは、自分のテーブルには、これは同様にあなたのためのケースであれば、あなたのようなクエリを書くことができるなど 201701012017020120170301、と接尾辞を設定しています

テーブルにJanuaryFebruaryのような接尾辞が付いている場合でも、このアプローチを有効にすることができます。

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

:あなたは別にそれをフィルタリングするために、月の列を返すクエリをしたい場合は

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. January 
SELECT *, EXTRACT(MONTH FROM PARSE_DATE('%B', _TABLE_SUFFIX)) AS month_number 
FROM `All_relevant_data_*`; 
+0

ありがとうエリオット。どのように私は必要な月にtableauを選択するのですか?これは、入ってくるデータの量を減らすために、フィルターやパラメーターを使って行われますか –

+0

私はあなたのためにいくつかの例を追加しました。私はTableauにあまり慣れていませんが、あなたが使用するものに応じて、これらのうちの1つを使用し、 'date'または' month_number'のいずれかにフィルターを追加することができると仮定しています。 –

+0

ありがとうございます。私はこれを後で試してみます –

関連する問題