メインコンテンツまでスキップ
waffle.svg
Domo Knowledge Base

Magic ETL v2(ベータ)でスクリプトを書き込みます

Version 2

 

Add Formula Icon.png

はじめに

[スクリプトを追加]操作は、Magic ETLに高度な変換プロセスをもたらす行ごとの式エバリュエーターです。ケースステートメント、time-value-money関数、統計のユーティリティー関数などのサポートされている関数では、[スクリプトを追加]操作により、Magic ETL DataFlowを新しい方法で活用するための拡張機能をユーザーに提供します。

スクリプトを追加操作の一部

次のスクリーンショットは、スクリプトを追加する操作の外観を示しています。

Add Formula Action.png

以下の表では、[スクリプトを追加]ダイアログのユーザーインターフェースコンポーネントについて確認できます。

名前

説明

出力列名

列名を追加して新しい計算列を作成し、スクリプトを記述します。既存の列を上書きするには、Dropdown Arrow Menu.pngドロップダウンを使用して既存の列を表示および選択するか、その列の名前を入力して既存の列を上書きします。表のアイコンTable Icon.pngがテキストボックスに表示されると、既存の列が入力された数式の結果で上書きされます。

スクリプト

スクリプトはBeast Modeと同様にSQLスタイルの構文を使用する計算列です。この操作は、提供された関数を使用して各行を個別に評価します。このタイルの出力データの特性により、集計関数はサポートされていません。集計には「グループ化」操作を使用します。

編集ビューを開く

Expand Editor.pngスクリプトエディタの編集ビューを開きます(下のスクリーンショットを参照)。

[スクリプトを検証]ボタン

Validate Formula Icon.pngDataFlow全体のプレビューを実行せずに、スクリプトの構文をすばやく検証し、エラーをチェックします

プレビュー

スクリプト追加設定タブを開いたままCtrl+Enterホットキーを押すと、スクリプトの1行のテストが実行され、結果が返されます。DataFlow全体のプレビューを実行がまだ実行されていない場合、このホットキーによりDataFlowプレビューが開始されます。DataFlowのプレビューが正常に完了すると、Ctrl+Enterで1行のテストが実行され、スクリプトの構文に加えられた更新を含む結果が返されます。

スクリプトエディタの一部(編集ビュー)

Add Formula Expanded View.png

名前

説明

列の名前

ここに列名を入力します。入力された列名が既存の列と正確に一致する場合、既存の列はスクリプトの結果で上書きされます。

スクリプト

評価で使用する関数または変換を入力するフィールドです。[列][関数]のリストの項目をダブルクリックすると、列名または関数を追加できます。

スクリプトを検証

[スクリプトを検証]ボタンを押すと、DataFlow全体のプレビューを実行せずにスクリプトの構文をすばやく検証し、エラーを確認できます。

ダブルクリックしてスクリプトに追加できるカテゴリーと値をリストにします。既に検証されているスクリプトは、後続のスクリプトで参照でき、列タブに表示されます。リストは、アイテムを検索したりフィルターしたりできます。

関数

ダブルクリックしてスクリプトに追加できるサポートされているすべての関数をリストにします。リストは、アイテムを検索したりフィルターしたりできます。

関数の詳細

現在関数リストでハイライト表示されている関数の構文と使用状況の情報を表示します。

ヘルプアイコン

スクリプトを追加のナレッジベースの記事とリンクするツールチップです。

計算使用法メモ

  • ほとんどの計算は以下の一般的なフォーマットのいずれか1つを用いています。

フォーマット

説明

FUNCTIONNAME(`Column Name`)

1つの特定の変更を、列のすべてのセルに適用するときに使用します。この種の計算に使用される関数の例には次のようなものがあります:AVG、MONTHNAME、CEILING。

FUNCTIONNAME(`Column Name1`,`Column Name2`,...)

2つ以上の列にスクリプトが適用されるときに使用します。この種の計算に使用される関数の一例はCONCATで、これは異なる列の文字列を結合します。

FUNCTIONNAME(`Column Name`,somevalue)

指定された値を含む計算を列に適用するときに使用します。この種の計算に使用される関数の一例はPOWERです。この計算を使用する際、列のすべてのセルで乗じる指数を指定します。

FUNCTIONNAME(`Column Name`, 'string')

指定した文字列を含む計算を列に適用するときに使用します。この種の計算に使用される関数の一例はDATE_FORMATです。このスクリプトを使用する際、日付値のフォーマットに使用する指定子の文字を指定します。詳細は、「Beast Modeでの日付の形式指定文字列」を参照してください。

  • 列名は、大文字と小文字を区別しません
  • サポートされている関数は大文字小文字を区別しません
  • 列名には、バックティック(いわゆるバッククォート)、(`)またはダブルクォート(")を使用します(例:`Customers`または"Customers"
    )。2つ以上の単語を含んだ列の名前は、バックティック(`)もしくはダブルクォート(")で囲みます。関数名と一致する列の名前を使用する場合(例:DATE)、バックティックかダブルクォート(")で列の名前を囲みます。
  • シングルクォート(')は文字列に使用します(例:'mystring')。
  • シングルクォートを2つ使用するとエスケープすることができます(例:'O''Neal')。
  • シングルクォートを使用した計算には、スペースを入力することができます(例:' ')。
    これはCONCATなど、文字列を結合する関数に便利です。
  • カスタムスクリプトでは、+(足し算)、-(引き算)、x(掛け算)、/(割り算)など、ほとんどの標準的な算術スクリプト子が使用できます。
  • 参照される新しい列がそれを参照する式よりも大きい場合、別の計算式の式から作成された特定の新しい列を名前で参照できます
  • 計算は入力しながら自動的に完了させることができます。
  • 関数を入力すると関数リストが表示され、その中から選択することができます。
  • バックティック(')を入力すると、列の名前のリストが表示され、その中から選択することができます。
  • 計算内でいくつかの関数を結合できる一方、数値関数を重ねることはできません。例えば、SUM(MIN())は無効です。
  • 変換済みの列内に入れる数値のデータタイプは混ざらないようご注意ください。
    例えば、CASE関数では 「Yes」(文字列)と 「0」(数)を同じ列に保存しないようにします。

サポートされている関数

サポートされている関数の一覧は、「サポートされているスクリプトを追加式」の記事を参照してください。