はじめに
使用事例として、例えばユーザーが毎月財務部からDataSetを受け取り、Workbenchを使ってExcel形式でDomoにアップロードしたとしましょう。このDataSetには「Account」という表題の列が含まれています。この列の値は、次のような財務メトリクスまたは取引のリストを表示します(下のスクリーンショットは単なるサンプルデータです。スキーマは実際のDataSetのスキーマと類似していますが、列数は少なくなっています)。
クライアントは、各メトリクスを独立した列にピボットして、特定の計算を行い、経営陣からの要求に応じてデータを表形式で報告する必要があります。Magic ETL「Uncollapse Columns」変換を使うこともできます。これはうまく機能しますが、この変換の欠点は動的ではないことです。クライアントはMagic DataFlowを手動で編集したくありません。なぜなら、ソースデータに新しいメトリクスが追加されるたびに、新しい「Account」メトリクスを追加する必要があるからです。
幸いにも、これを達成するために少なくとも一つ解決策があります。MySQLストアドプロシージャを作成すると、データソースに新しい値が追加されるたびに、Accountフィールドの下に任意の新規メトリクスを動的に含める/追加することができます。
変換ステップ
このセクションでは、MySQLストアドプロシージャを作成して呼び出し、DataSetに新しいメトリクスを動的に追加する方法を説明します。ストアドプロシージャはテキストファイルとしてここで利用できます:Dynamic_Pivot.sql
新しいメトリクスを動的に追加するには
-
スペースが含まれるすべての値にバッククォート(`)を追加します(例:`Net Revenue`)。
これは、グループCONCAT関数が次のステップで動作するようにするために必要です。
-
ストアドプロシージャを作成し、必ず[出力表を生成]のチェックを外します。
-
ストアドプロシージャを呼び出し、必ず[出力表を生成]のチェックを外します。
-
プロシージャによって生成された新しい表に対してクエリを実行します。
-
出力DataSetを生成します。
コメント
0件のコメント
サインインしてコメントを残してください。