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

SQL DataFlow を作成する

Version 9

はじめに

DataFlow は、SQL クエリを使用して作成することができます。 Magic ETL を使用する場合に比べて難しくなりますが、オプションはより幅広くなります。 Magic ETL DataFlow の作成については、Magic ETL DataFlow を参照してください。

重要:DataFlow の入力 DataSet は、PDP のポリシーで制限させることはできません。利用可能な全ての行は DataFlow を経由する必要があります。 このため、PDPポリシーは、DataFlow が生成する出力 DataSet に適用させる必要があります。
 

PDP ポリシーが有効になっている入力 DataSet を使って DataFlow を構築すると、以下の条件の最低ひとつを満たしていない限り、DataFlow には不具合が発生します:

  • あなたは「管理者」セキュリティプロフィールを保有している。

  • あなたは DataSet の所有者である。

  • あなたは、「全ての行」ポリシーの一部を構成している。 これは、DataSet の全ての行にアクセスできるものです。

DataFlow で PDP を使用する方法に関しては、 PDP と DataFusion / DataFlowを参照してください。 

SQL DataFlow を作成する時のインターフェースは、データセンターからアクセスします。 データセンターに関する詳細は、データセンターのレイアウトを参照してください。

トレーニングビデオ - MySQL DataFlow

MySQL を使って新規に DataFlow を作成するには、次の手順に従います。

パート 1 (全 4 パート)

 

 

 パート 2 (全 4 パート)

 

パート 3 (全 4 パート)

 

 

パート 4 (全 4 パート)

 

注記:この製品トレーニングビデオは、Domo のお客様とクライアント様のみを対象としています。 

SQL DataFlow を作成する

注記: Redshift では、次に記されているように、ストアド プロシージャはサポートされていませんhttp://docs.aws.amazon.com/redshift/latest/dg/c_unsupported-postgresql-features.html 代替手段として、ストアド プロシージャをサポートする MySQL DataFlow を使用します。  

SQL DataFlow を作成するには、

  1. Domo で、 > データセンターをクリックします。

  2. ウィンドウ上部の Magic 変換ツールバーの SQL をクリックします。

    ヒント: SQL DataFlow エディタは、Domo のどこからでも App ツールバーのを選択し、add_to_domo_icon.pngデータ > SQL を選択することでも開くことができます。
  3. 作成したいDataFlow を選択します。
    DataFlowを作成ビューが開きます。

  4. DataFlow の名前と詳細を入力します。

  5. 以下に従って、目的のDataFlow用の入力Datasetを選択します:

    1. DataSetを選択をクリックします。
      既存のDataSetのリストが開きます。

      注記:DataFlow の入力 DataSet は既に Domo に存在するものである必要がありますDataFlow を作成のビューで新しい DataSet をアップロードすることはできません。 新規 DataSet を Domo にアップロードする方法に関しては、Connector でデータに接続するを参照してください。
    2. 目的のDataSetを選択します。
      選択したDataSetがカードに表示されます。 DataSet をプレビューするには、カードをクリックし、プレビューをクリックまたはDataSet から削除するには、をクリックします。

      注記:DataSet が 1 万行以下なら、全ての行を変換プレビューで見ることができます。 DataSet に 1 万以上の行がある場合は、50 万行まで変換プレビューで見ることができます。 この行数制限は変換プレビューに対してのみ適用されます。 DataFlow を実行すると、出力には全ての行が使われます。  

      sql_dataflow_info.png 

    3. 前述の2つのステップを繰り返すことで、入力DataSetをいくらでも追加することができます。

      sql_dataflow_preview.png

  6. (オプション)入力 DataSet から不要な列を削除するには、以下を行います:

    1. ダイアログのプレビューを開くには、 DataSet のカードをクリックします。

    2. 個々の列を削除するには、列名の横にある「X」をクリックするか、全ての列を削除をクリックして全ての列を削除します。
      DataSet に個々の列を戻すには列を追加をクリックして列を選択します。また DataSet に全ての列を追加するには、全ての列を追加をクリックします。

    3. 適用をクリックします。 

  7. (オプション)変換を追加します。以下を行います:

    1. 変換を追加をクリックします。
      色々なオプションとともに、変換ダイアログが表示されます。 これらのオプションついての詳細は、こちらを参照してください:変換および出力 DataSet オプションについて

    2. SQLコードを入力し、入力DataSetを変換させます。

    3. 終了をクリックします。

  8. 出力 DataSetを追加をクリックします。
    色々なオプションとともに、出力DataSetが表示されます。 これらのオプションついての詳細は、こちらを参照してください:変換および出力 DataSet オプションを理解する

    1. SQLコードを入力し、入力DataSetをどのように結合させるかを指定します。
      変換ダイアログで入力DataSetを変換した場合は、その変換はここで適用されます。

    2. (オプション)前の2つのステップを繰り返すことで、出力DataSetを追加します。

    3. 終了をクリックします。

  9. (条件付き)入力 DataSet が更新された時にこの DataFlow が実行されるようにしたい場合は、該当する DataSet のボックスにチェックを入れておきます。

  10. (条件付き)DataFlow を Strict モードで実行したい場合は、Strict モードオプションをオンにします。
    このオプションの詳細については、Strict モードについてを参照してください: 

  11. (条件付き)以下のいずれかを行い、DataFlowを保存します:

    • この DataFlow を出力して Domo で利用できる DataSet にするためのスクリプトを実行したいときは、保存して実行をクリックし、必要に応じてバージョンの説明を入力してから、保存をクリックして確認します。
      これで、DataFlow からDataSetが作成されるプロセスが開始されます。 入力DataSetのサイズによっては、この作成プロセスは1分から1時間またはそれ以上かかります。 DataSet の生成に加え、DataFlow のカードがデータセンターの DataFlow リストに追加されます。

    • この DataFlow を今回だけ DataSet に出力せずに保存したい場合は、保存をクリックし、必要に応じてバージョンの説明を入力してから、保存を再びクリックして確認します。 DataFlow のカードがデータセンターの DataFlow リストに追加されますが、DataSet は生成されません。 いつでも DataFlow を実行して DataSet の出力をすることができます。これは、DataFlow リストにある DataFlow のカードにマウスを合わせ、をクリックし実行を選択して行います。 このオプション、およびこのメニューで利用できるその他のオプションは本トピックにて後述します。

DataFlow を保存する際、このバージョンのエントリーが DataFlow の詳細ビュー内のバージョンタブに追加されます。 保存する際に説明を入力している場合は、DataFlow のエントリーにその説明が表示されます。 バージョンについては、 DataFlow のバージョン履歴を閲覧するを参照してください。 

注記:DataFlow が正常に実行されても、DataFlow の出力 DataSet が「更新済み」にならないのはなぜなのか、多くのユーザーより質問が寄せられています。 これは一般的には、データが実際には変更されていないからです。つまり更新されていないのです。 そのため、DataSet は更新済みとは表示されません。  

変換及び出力DataSetオプションを理解する

変換および 出力DataSet ダイアログで利用可能なオプションはほとんど同じです。唯一違うのは、変換ダイアログには出力表を生成する オプションが表示されますが、出力DataSetダイアログには表示されないという点です。

以下のスクリーンショットは、変換ダイアログのコンポーネントを示しています。

dataflow_transform_ui.png

以下の表で、このコンポーネントに関する詳細を見ることができます:

コンポーネント

説明

出力表の生成

このオプションをチェックすると、終了をクリックした時に、生成された変換を保存する一時的な表が生成されます。 このオプションは変換ダイアログにのみ利用できます。

プレビューボタン

SQL変換が適用されたデータ表のプレビューが表示されます。

SQLの実行

SQLが有効かを確認するためのテストを実施することができます。

Strict モードについて

Strict モードは、データ変更ステートメントで、無効な値または欠損値を MySQL がどのように処理するかを制御します。また、ゼロ(0)による除算、ゼロ(0)の日付、日付内でののゼロ(0)値の処理方法にも影響します。 詳細は、https://dev.mysql.com/doc/refman/5.6/en/sql-mode.html#sql-mode-strict を参照してください。

DataFlow 作成のためのベストプラクティス

DataFlow では、次を守るようにしましょう:

  • 変換における各ステップに、記述的な名前をつけること。

  • 結合または操作される入力 DataSet、そして作成される DataSet にも説明を入れ、またデータの所有者もわかるようにします。

  • 出力 DataFlow と同じ名称をつけます - そうすることで、どの DataSet がどの DataFlow から作成されたか簡単にわかるようになります。