データ・ソース
Incentivesでは、データソースとは、別のデータソースの作成や、レポートやWebフォームでの結果表示に使用できる計算、テーブル、またはデータストアです。
最初は、システム以外のテーブルが計算ソースとして使用できます。1つ、または複数の計算を作成した後、新しい計算のソースとして他の計算結果を選択できます。
データ・ソースの追加
Incentivesでは、計算、データ・ストア、[プレゼンター]コンポーネント、ワークフロー、Webフォームオブジェクトを作成するときに、データ・ソースを追加する必要があります。
データ・ソースを必要とするオブジェクトを作成します。
[データ・ソース]タブで、メインデータ・ソースをドラッグして、[追加されたデータ・ソース]フィールドに配置します。
データソースを置き換えるには、別のソースをドラッグして、[追加したデータソース]ペインで置き換えるソースの上に置きます。
[制限]、[列の表示]、および[数式] タブをチェックすると、列が一致している場合、データソースが自動的に調整されるのがわかります。ただし、列に一致がない場合、元の計算はそのままであり、不一致の列を変更して、新しいテーブルに一致するように更新することが求められます。
複数の情報源
列ごとにソースを追加
Incentivesでは、複数のテーブルまたは計算を結合し、列を追加して計算のデータソースを定義できます。これは結合と呼ばれます。
列を追加することによってデータ・ソースを結合することは、通常、2つ以上のソースからのデータが互いに比較される場合、または式で使用される場合に使われます。
通常、結合の制限を定義することによって、共通点に基づいてデータ・ソースを結合します。デフォルトでは、同じ名前の列と同じタイプの列が自動的に結合されます。結合の自動作成を無効にするように選択できます。
たとえば、製品テーブルを受け取り人テーブルに結合して、各払受人によって販売された製品を表示する状況を考えてみましょう。受け取り人IDに基づいて結果を制限または結合すると、次の表に示す結果を取得できます。
受け取り人 ID | 名前 |
---|---|
001 | ジョン・スミス |
002 | スー・ジェイコブス |
003 | マーク・フレデリック |
004 | メアリー・スコット |
製品 ID | 製品名 | 受け取り人 ID |
---|---|---|
123 | プリンター | 001 |
234 | ケーブル | 001 |
345 | モニター | 003 |
受け取り人 ID | 名前 | 製品 ID | 製品名 |
---|---|---|---|
001 | ジョン・スミス | 123 | プリンター |
001 | ジョン・スミス | 234 | ケーブル |
003 | マーク・フレデリック | 345 | モニター |
重要
スー・ジェイコブ(002)、またはメアリー・スコット(004)のデータは表示されません。これらの受け取り人に対応する行が[製品]テーブルにないためです。
制限を使用して、共通点に基づいて新しい各ソースを既存のソースに結合できます。たとえば、最初のソースに各受け取り人のトランザクション・データが含まれ、2番目のソースに売上に適用される報酬レートが含まれている場合、2つのタイプの受け取り人データの関連付け方法を指定する必要があります。報酬レートが肩書によって異なり、肩書IDが両方のテーブルに含まれている場合、ERP.TitleID = Rates.TitleID
のように、その基準での結合が可能です。
制限の追加は、データ・ソースを追加する上で重要な部分です。制限を作成しない場合は、新しいソースの各行が既存のソースの各行に追加されます。このアクションにより、どちらのソースも個別に作成できる行よりも多くの行が作成されます。
たとえば、最初のソースが100行あり、2番目のソースが50行の場合、一致のない結合の結果は100x50=5000行、あるいは、2つのソースの行の可能な組み合わせごとに1行になります。
制限は通常必要になりますが、2つのソースを結合するときに可能な行の組み合わせをすべて表示したい場合があります。製品テーブルと受け取り人テーブルがあり、各受け取り人が販売する可能性がある各製品を示すテーブルが欲しい、とします。
受け取り人 ID | 名前 |
---|---|
001 | ジョン・スミス |
002 | スー・ジェイコブ |
003 | マーク・フレデリック |
004 | メアリー・スコット |
製品 ID | 製品名 | 受け取り人 ID |
---|---|---|
123 | プリンター | 001 |
234 | ケーブル | 001 |
345 | モニター | 003 |
次のステップを完了したとします。
受け取り人テーブルを最初のソースとして定義します。
製品テーブルから受け取り人テーブルに列を追加します。
制限の追加を拒否します。
結合によって、次のテーブルが生成されます。
受け取り人 ID | 名前 | 製品 ID | 製品名 |
---|---|---|---|
001 | ジョン・スミス | 123 | プリンター |
001 | ジョン・スミス | 234 | ケーブル |
001 | ジョン・スミス | 345 | モニター |
002 | スー・ジェイコブ | 123 | プリンター |
002 | スー・ジェイコブ | 234 | ケーブル |
002 | スー・ジェイコブ | 345 | モニター |
003 | マーク・フレデリック | 123 | プリンター |
003 | マーク・フレデリック | 234 | ケーブル |
003 | マーク・フレデリック | 345 | モニター |
004 | メアリー・スコット | 123 | プリンター |
004 | メアリー・スコット | 234 | ケーブル |
004 | メアリー・スコット | 345 | モニター |
重要
この例は、1番目のテーブルのすべての行が2番目のテーブルのすべての行と一致する、無制限の結合を表します。情報が意図したとおりに返されるように、結合を慎重に定義するためのインポートです。
列による追加ソースの追加
Incentivesでは、複数のデータソースを列で結合してデータソースを比較したり、数式でデータを使用したりできます。
[データ・ソース]タブで、最初のソースをドラッグして[追加されたデータ・ソース]ペインに配置します。
2番目のソースをドラッグして、最初のソースの下のフィールドに配置します。
ソースを追加するには、追加したいソースをドラッグして、[追加したデータ・ソース]ペインのソースの上または下に配置します。
結合の制限を定義します。
行ごとにソースを追加する
Incentivesでは、あるソースのデータを別のソースの下部に追加することで、データソース間の結合を作成できます。これにより、1つのデータソースが作成されます。
結合ソース(列の追加)が、必要な結果を作成する方法でデータを整理しない場合があります。その場合は、行を追加してソースを追加できます。この機能は、複数のソースからの情報を関連付けるために両方のオプションが使用される列を追加するのと似ています。
売上合計から、月別のリターンを差し引いた金額に基づいて従業員に報酬を支払うプランを検討します。従業員001の情報を見てみましょう。
従業員 | 売上合計 | 日付 |
---|---|---|
001 | 1500 | 1か月目 |
001 | 250 | 1か月目 |
001 | 700 | 2か月目 |
001 | 500 | 3か月目 |
従業員 | 戻る | 日付 |
---|---|---|
001 | -100 | 1か月目 |
001 | -50 | 2か月目 |
以下の手順で返されたデータ・テーブルから売上データ・テーブルに行を追加すると、結果は[行の追加の結果]テーブルと一致します。
返されたデータ・テーブルから売上データ・テーブルに行を追加します。
売上合計の合計を探します。
結果を月別に分割します。
売上合計 | 月 |
---|---|
1650 | 1か月目 |
650 | 2か月目 |
500 | 3か月目 |
返されたデータ・テーブルにその月のレコードがなくても、3か月目の結果が表示されます。列を追加してこれらのテーブルをリンクすると、3月を含む行は表示されません。
ソース・テーブル内の全列を結合テーブル内の1つの列にマップする必要があります。このため、ソース・テーブルの列は、結合テーブルの列と類似している必要があります。たとえば、売上データテーブルと返されたデータテーブルの両方に、従業員ID、金額、および日付列がある、といった具合です。
行ごとの追加データ・ソースの追加
Incentivesで、2つ以上のデータソースを行で結合して、1つのソースを作成します。
[データ・ソース]タブで、最初のソースをドラッグして、[追加されたデータ・ソース]ペインに配置します。
2番目のソースをドラッグして、[追加されたデータ・ソース]ペインのソースの上に置きます。
すべての列がマップされていることを確認します。
ヒント
[自動一致]をクリックして、アプリケーション・マップの同じ列名を自動的に割り当てます。
列マッピングセクションを表示するには、2番目のソースの横にある[編集]アイコンをクリックします。
アンカー機能
Incentivesでは、データストア、計算、プレゼンターレポートのデータソースでソースを結合するときにアンカー機能を使用します。
アンカー機能を有効にすると、結合が第2のデータ・ソースで一致するレコードを見つけられなくても、第1のデータ・ソースのすべてのレコードの行を表示できます。第2のデータ・ソースで一致したレコードのみが返されます。2番目のデータ・ソースが1つの行を返し、1番目のデータ・ソースが1つ以上の一致する行を返し、2番目のソースの値が最初のデータ・ソースの個別の行ごとに繰り返されます。
次の2つのデータ・ソースがある状況を考えてください。
名前 | 部門ID |
---|---|
ダン・ハッデル | 004 |
ブレイン・アクトン | 001 |
ジル・エイブリー | 002 |
ジョン・マーチ | 003 |
クリス・アクレス |
部門ID | 部署名 |
---|---|
001 | 販売 |
002 | 開発 |
003 | サービス |
004 | マーケティング |
005 | 研修 |
アンカー機能の使用時に[データ・ソース]タブからプレビューすると、第2のソースに一致するレコードがない場合でも、第1のデータ・ソースのレコードが返されます。
名前 | 部門ID | 部署名 |
---|---|---|
ダン・ハッデル | 004 | マーケティング |
ブレイン・アクトン | 001 | 販売 |
ジル・エイブリー | 002 | 開発 |
ジョン・マーチ | 003 | サービス |
クリス・アクレス |
計算でアンカーされたソースをパーティション化すると、null結果を持つパーティションはすべて削除されます。[数式]タブから[名前]、[部門ID]、および[部門名]をパーティションとしてプレビューすると、クリス・アクレスがデータセットから削除されます。ただし、名前のみでパーティションを作成すると、クリス・アクレスが含まれます。