ディメンション・マッピングでのマッピング表の作成

ここでは、ディメンション・マッピングでディメンションをリンクする際にマッピングを定義する方法を順を追って説明します。ソースおよび宛先アプリケーションは自動的に選択されるので、マッピング表デザイナの最初の画面はスキップされます。

ディメンションをマップする際に、マッピング表を作成するには:

  1. ディメンション・マッピングで、リンクを右クリックし、「マッピングの定義」を選択します。

    マッピング表デザイナ(データのマップ)が表示されます。

    各行は、ソースと宛先のアプリケーション・ディメンション間でのマッピング・ルールを表します。セルをダブルクリックして、セルに値を直接入力するか、セルをクリックして「メンバーの選択」を選択してメンバーを選択します。

    ソース値をセルに直接入力する場合は、ワイルド・カードおよびインディケータとして記号を使用できます。

    表18. ソース・ディメンションのルール構文

    Symbol使用方法
    *1つ以上の文字に一致します。たとえば、Acc*はAcc100、Acc101などに一致します。
    ?1つの文字に一致します。たとえば、Acc???はAcc100に一致しますが、Acc1000には一致しません。
    ~文字の範囲に一致します。たとえば、Acc100~Acc200は、Acc100、Acc101などのAcc200までの候補に一致します。両方のフィールドが数値の場合、範囲は数値として評価されます。いずれかのフィールドが英数字の場合、範囲は辞書編集的に評価されます。
    \次の文字が文字どおりに解釈されることを示します。たとえば、Acc\*は正確にAcc*のみに一致します。
    ^スペースを表します。

    必須 - 先頭および末尾のスペース

    省略可能 - 入力の途中に表示されるスペース
    {NULL}空のフィールドに一致します。

    宛先ディメンションには、異なるルール構文を使用します。ソースのルール構文では、ルールに適合する交差を定義します。行が換算エンジンを通過するとき、それぞれのソース・ルールに対してメンバーが定義されているルールに適合するかどうかがチェックされます。一致候補が見つかると、宛先ルールがメンバーに適用されます。宛先ルールは、ソース・ルールに一致するメンバーに行われる変更を定義します。宛先ディメンションのルール構文には、次のエントリがあります:

    • メンバー名

    • リテラル文字列と組み合せたソース・メンバー名

    • ワイルド・カードのコンテンツ

    表19. 宛先ディメンションのルール構文

    Symbol使用方法
    []連結できる宛先値。
    [フィールド番号]指定した入力フィールドの値全体を転送します。入力フィールドは、入力フィールドの定義の順序に基づくシーケンス番号によって識別されます。たとえば、[1]は、最初の入力値が出力になることを示します。FY[1][2]は、出力値が入力1の値および入力2の値を連結した文字列FYになることを示します。つまり、入力1がYearsで、入力2がMonthsの場合、結果はFYYearsMonthsになります。
    [フィールド番号,* ]入力フィールドの*の値になります。たとえば、出力1が[1,*]と定義され、入力1が123*と定義されている場合、入力1 = 123456の場合、出力1 = 456です。
    [フィールド番号,*#]参照される*が入力の最初のインスタンスではない場合に必要なフォーマットです。

    #は、入力フィールドの*の位置です。

    [1, *1]は、[1, *]と同じです。

    たとえば、入力3 = *123*で出力1 = abc[3, *2]の場合、入力3 = 91234で出力1 = abc4になります。

    [フィールド番号,?]入力フィールドの?の値になります。たとえば、出力1が[1,?]と定義され、入力1が123?と定義されている場合、入力1 = 123456の場合、出力1 = 4です。
    [フィールド番号,?#]参照される?が入力の最初のインスタンスではない場合に必要なフォーマットです。

    #は、入力フィールドの?の位置です。

    [2, ?1]は、[2, ?]と同じです。

    たとえば、入力1 = 123?、入力2 = 4??、および出力1 = abcd[2, ?2]の場合、入力1 = 1237、入力2 = 498、出力1 = abcd8です。

    \次の文字が文字どおりに解釈されることを示すインディケータです。出力に[または]を使用する場合は、\が必要です。出力で、[]の定義の内部で\を使用できません。
    ^スペースのインディケータです。

    必須 - 先頭および末尾のスペース

    省略可能 - 入力の途中に表示されるスペース
    {NULL}空のフィールドを出力するために使用する値です。
  2. 次のいずれかのアクションを行います:

    • ソースには、セルをダブルクリックしてルールを入力します。表18 ソース・ディメンションのルール構文で説明されている構文を使用します。(セルを選択し、「メンバーの選択」を選択してから「メンバーの選択」ダイアログ・ボックスでメンバーを選択し、「OK」をクリックすることもできます。)「メンバーの選択」ダイアログ・ボックスでのメンバーの検索の詳細は、メンバー・セレクタを使用したメンバーの検索を参照してください。

    • 宛先には、セルをダブルクリックしてルールを入力します。表19 宛先ディメンションのルール構文で説明されている構文を使用します。(セルを選択し、「メンバーの選択」を選択してから「メンバーの選択」ダイアログ・ボックスでメンバーを選択し、「OK」をクリックすることもできます。)

    「メンバーの選択」を選択すると、メンバー・セレクタでディメンション内のメンバーを表示して選択できます。「+」および「-」を使用すると、ディメンション内のメンバーを展開および縮小できます。

    メンバーが見つからない場合、メンバー・セレクタ「メンバーの選択」ダイアログ・ボックスでメンバーを検索できます。メンバー・セレクタを使用したメンバーの検索を参照してください。

  3. 必要に応じて、マッピングを変更します:

    • 表の最後に行を挿入するには、「追加」をクリックします。

    • 行をコピーするには、行を選択して「複製」をクリックします。

      重複行は、表の最後に追加されます。

    • 行を削除するには、複数の行を選択して「除去」をクリックします。

    • 表内の行を上または下に移動するには、行を選択し、「上へ移動」または「下へ移動」をクリックします。

      ルールは順番に処理されます。一致候補が見つかると、ルールがメンバーに適用され、処理が完了します(そのメンバーに他のルールは適用されません)。複数のルールに適合するメンバーもあるので、ルールの順序を制御できるようになっています。

    • セルを編集するには、セルをダブルクリックするか、または[F2]キーを押します。

      ヒント:

      [Tab]キーを使用すると、表内を移動できます。

  4. 「次へ」をクリックし、マッピング表を検証します。

    「マッピングの検証」画面には、各行にマッピング・ルールが記述された表が表示されます。メンバー情報ではなく、構文のみが検証されます。各ルールに合否のマークが付けられます。

  5. 「検証」をクリックします。

    ヒント:

    「すべて表示」をクリックしてすべてのルールを表示するか、または「例外のみ表示」をクリックして、検証を通過していないルールのみを表示します。「すべて表示」が選択されている場合、失敗のルールは赤でハイライト表示されます。

  6. ルールが検証を通過しなかった場合は、「戻る」をクリックして「データのマップ」ページに戻り、エラーを修正してから「次へ」をクリックして再検証します。

  7. 「次へ」をクリックします。

    「マッピング・プロパティ」画面が表示され、そこでマッピング表の名前および説明を提供します。MAP_などの接頭辞を付けると有効です。

  8. 名前および説明を入力し、「終了」をクリックします。

    名前および説明に制限はありません。

    点線は、マッピングが定義されたことを示します。

    マッピングは、データ・シンクロナイザにも表示されます。データ・シンクロナイザの操作を参照してください。