データの混合
データの混合は、さまざまなソースからデータを収集し、必要なデータを統合して機能的なカスタムデータセットを作成するプロセスです。たとえば、現在のデータソースから一部の基本フィールドを使用し、さらに [混合] オプションを使用して関連するデータフィールドを別のデータソースから追加することで、独自のデータセットを作成することができます。
[混合] 機能を使用すると、JOIN に含めるデータフィールドを明示的に選択することができます。具体的には、複数のマルチファクトデータ構造を結合したり、関連する外部データを現在のデータソースに統合したりすることで、混合されたデータリソースを作成することができます。混合するデータは、ローカルリソースから選択することも、他のシステムリソースから選択することも可能です。
データを混合する例として、共通のディメンション (例、製品ディメンション) を共有する 2 つのファクトテーブルからレポートを作成する場合があります。[混合] オプションを使用すると、新しい外部ファクトテーブル (例、アップロードした Excel ワークシート) を複数セグメントマスターに追加し、既存の子セグメントの親セグメントとして配置することができます。
この例は、wf_retail サンプルデータベースで確認することができます。wf_retail マスターファイルには、wf_retail_sales ファクトテーブルと wf_retail_store_sales ディメンションテーブルが含まれています。wf_retail_sales セグメントは、wf_retail_store_sales セグメントの親として定義されています。次の例では、2 つ目のファクトテーブルをレポートに追加します。この例では、2 つ目のファクトテーブルは、WebFOCUS App Studio にアップロードしてレポートまたはグラフの作成に使用する Excel スプレッドシートです。アップロードするスプレッドシートファイルのデータは、共通ディメンションフィールドに基づいて wf_retail データベースに結合されます。
[混合] オプションに適用される一般的な規則は次のとおりです。
- データを混合した結果、単一のディメンションが 2 つのファクトテーブルで共有されます。テーブルは、少なくとも 2 つのセグメントで構成されたクラスタに基づく必要があります。1 つ目のセグメントはファクトテーブル 1 として使用され、2 つ目のセグメントはディメンションとして使用されます。
- 混合されたテーブルのフィールドをソートフィールドとして使用しないでください。これは、別のファクトテーブルのフィールドとともに使用する際に、これらのフィールドに共通フィールドが存在しなくなるためです。
JOIN タブを使用してデータを混合するには
次の手順は、2 つの既存のデータソースのデータを混合する方法を示しています。この手順では、wf_retail マスターファイルおよび product_category_sales スプレッドシートを使用します。
- 手順
- 新しいプロシジャを作成するか、既存のプロシジャを開きます。
- [プロシジャビュー] パネルで、JOIN を作成するプロシジャフォルダを右クリックするか、JOIN を作成する 1 つ前のコンポーネントを右クリックし、[新規作成]、[JOIN] を順に選択します。
- [データソースの選択] ダイアログボックスで [wf_retail.mas] データソースを選択し、[OK] をクリックします。
JOIN キャンバスが開き、マスターファイル内のフィールドのリストが表示されます。
- リボンの [JOIN] タブを選択し、[JOIN] グループの [追加] をクリックします。
別の方法として、JOIN キャンバスを右クリックし、[ファイルの追加] を選択することで、JOIN の 2 つ目のデータソースを追加することもできます。
- [データソースの選択] ダイアログボックスで [product_category_sales] スプレッドシートを選択し、[OK] をクリックします。
新しいファイルがキャンバスに追加されます。下図のように、両方のファイルで共通のフィールドが JOIN 接続線で結合されます。
- JOIN でデータを混合するには、各ファイルリストで結合されたフィールドを選択し、JOIN 接続線をクリックします。
- リボンの [JOIN] タブで、[混合] オプションをクリックします。
- 混合タイプとして [INNER] (デフォルト) または [FULL OUTER] を選択します。
- [実行] をクリックします。
ダイアログボックスが開き、コンポーネントのコードとともに、エラーメッセージが表示されるか、エラーが存在しないことを示すテキストが表示されます。
WebFOCUS 構文によるデータの混合
次の JOIN AS_ROOT コマンドを使用して、データを混合することができます。このコマンドは、テキストエディタを使用してプロシジャに入力することができます。この例では、「Projected」という名前の Excel ワークシートが wf_retail データソースの [製品] ディメンションの親として追加されています。レポート出力には、wf_retail_sales ファクトテーブルおよび Projected Excel ワークシートのフィールド値が製品区分別に表示されています。
JOIN AS_ROOT PRODUCT_CATEGORY IN WF_RETAIL TO UNIQUE PRODUCT_CATEGORY IN PROJECTED END TABLE FILE wf_retail SUM REVENUE_US PROJECTED_COG PROJECTED_SALE_UNITS BY PRODUCT_CATEGORY END
注意:上記の AS_ROOT コマンドは JOIN 構文でのみサポートされ、条件付き JOIN 構文ではサポートされません。
下図は、上記構文の出力結果を示しています。