Google BigQuery

BigQueryのユーザー定義関数(UDF)をTableauで使う

こんにちは、エクスチュアの渡部です。
今回はTableauでstandardSQLでBigQueryに接続している際に、
ユーザー定義関数(UDF)を使う方法についてです。

実はこれ、2019年7月1日にBigQueryのUDF永続化機能が登場して以降できるようになりました。
以下に簡単に手順を説明します。

前準備) 永続化UDFを作成する ※作成済みならスキップ可

まずはTableauで使用したい永続化UDFをBigQueryで作成します。
今回は「英語版スーパーストアの配送モード列の英語表記を日本語表記に変換する」という
実用性皆無のUDFをentojpという名前で作成します。

create function dataset.entojp(hoge string) returns string as ((
case hoge
when "First Class" then "ファーストクラス"
when "Same Day" then "即日配送"
when "Second Class" then "セカンドクラス"
when "Standard Class" then "通常配送"
end
));

永続化UDFの作成が終わったらTableauからBigQueryにライブ接続で繋ぎます。

これで準備は完了です。
ではUDFを使っていきましょう。
今回は2つの使用方法を紹介します。



使用方法1:RAWSQL関数で使用する

1つ目はRAWSQL関数で使用するパターンです。
パススルー関数(RAWSQL)
今回のUDFであるentojpは文字列を返すので、RAWSQL_STRを使います。
以下のようにship_modeを引数に式を作成しました。

作成したフィールドをShip_Modeと並べます。正しく変換されています。



使用例2:カスタムSQLで使用する

2つ目はカスタムSQLで使用するパターンです。
下画像のように普通に書くだけでUDFが使えます。

今回も同様に並べてみます。問題ないですね。


以上です。とても簡単です。
BigQueryのUDF永続化機能はBQ上の話だけではなく、
Tableauなどの外部ツールでも恩恵を授かることができるようです。

弊社はデジタルマーケティングからビッグデータ分析まで幅広くこなすデータのプロ集団です。
データ分析に関わるコンサルティング/システム構築支援についてのお問合わせはこちらからどうぞ。

ブログへの記事リクエストはこちらまでどうぞ。

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Tableau

    Tableau : IF文の「集計」「非集計」の混在を解決

    こんにちは、エクスチュア渡部です。これから定期的にTableauやGo…

  2. Adobe Analytics

    Adobe Analytics: DatafeedのログからパスフローレポートをBigQueryで作…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  3. Adobe Analytics

    Adobe Analytics: DatafeedのログからフォールアウトレポートをBigQuery…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  4. Adobe Analytics

    Adobe AnalyticsのDatafeedをBigQueryのColumn-based Tim…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  5. Google Cloud Platform

    Google Compute EngineのUbuntu VMにスワップ領域を作成する

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  6. Tableau

    Tableauのリレーションシップを理解して過剰結合を防ぐ

    リレーションシップとはTableau Desktop 2020.2の…

カテゴリ

最近の記事

  1. NotebookLMで効率の良くインプットをしよう
  2. VScode拡張機能「Cline」を利用してMCPのツール利…
  3. Tableauで検証?Wiiisdomでよくね?
  4. 進化学に倣う最適化手法「遺伝的アルゴリズム」
  5. dbt_expectationsでデータ品質を向上させよう
  1. IT用語集

    シェル(Shell)って何?
  2. Google Analytics 4

    【GA4/GTM】dataLayerを使ってカスタムイベントを発生させてみよう
  3. Mouseflow

    mouseflow vs Microsoft Clarity
  4. ObservePoint

    機会損失を未然に防ぐ!ユーザエクスペリエンスシミュレーター”WebJ…
  5. ブログ

    "Marketo"を使ってみて。パート2
PAGE TOP