2016-09-06 6 views
2

Webの大きなクエリUIでユーザー定義のクエリを使用しようとしていました。ドキュメント、https://cloud.google.com/bigquery/sql-reference/user-defined-functionsによると、私はこのステップをステップごとに行いました。Web UIでUDFを使用したクエリ

  1. 「レガシーSQLを使用する」チェックボックスをオフにします。以下
  2. タイプこの

クエリエディタでコードのクエリを入力し、UDF文の下に https://cloud.google.com/bigquery/sql-reference/user-defined-functions

CREATE TEMPORARY FUNCTION timesTwo(x INT64) 
RETURNS INT64 
    LANGUAGE js AS """ 
    return x*2; 
"""; 

3と同じです。

SELECT timesTwo(numbers) as doubles 
FROM UNNEST([1, 2, 3, 4, 5]) AS numbers; 

は、それから私は、クエリの実行]をクリックしたが、この

Not Implemented: UDFs are currently only supported for legacy SQL queries. 

のようなエラーが、それが原因で、従来のSQLオプションである私を与えますか?しかし、私は文書が言うようにそれをチェックしなかった。

(標準ではそれ以上)の
+0

何も「UDFにされていないことを確認しますので、すべてのクエリエディタに置くことが必要であり、クエリの「一部」でありますエディタ "テキストボックス。すぐにUIのアップデートがあります。これは、 "Use Legacy SQL"がチェックされていない場合に削除する必要があります。また、 'INT64'に関するドキュメンテーションに注意してください.JavaScriptの限界のために、10進数の文字列以外の' INT64'を無損失で表現する方法はありません。我々は、「FLOAT64」が数値を入力として渡す好ましい方法であることを示す変更に取り組んでいます。 –

答えて

2

スカラUDFは(何のUDF Editorがここで必要ありません)

CREATE TEMPORARY FUNCTION timesTwo(x INT64) 
RETURNS INT64 
    LANGUAGE js AS """ 
    return x*2; 
"""; 
SELECT timesTwo(numbers) as doubles 
FROM UNNEST([1, 2, 3, 4, 5]) AS numbers; 
関連する問題