データの変換 (コネクタ)
Discover でのデータ変換について
入力データをXM Discoverにインポートする前に変換できます。これは、データをクリーンアップしたり、データの形式を変更したりする必要がある場合に役立ちます。
データ変換にアクセスするには、以下の手順に従います。
- インポートジョブの設定時に、変換するデータフィールドの横にある変換列の歯車アイコンをクリックします。
ヒント:既存のジョブのデータ変換を更新する場合は、ジョブオプションメニューから[データマッピング]を選択します。 - データ変換を選択します。各変換の詳細については、リンクされたセクションを参照してください。
- 変換なし: インポートされたフィールドを変換しません。
- 動的ルックアップ: このオプションは、ルックアップ項目でのみ使用することができます。この項目を選択すると、ルックアップテーブルからの項目に対する最新のルックアップ値が適用されます。
- ルックアップテーブルからの値置換: ソース値と置換値のペアを定義します。
- 値を RegEx に置換: パターン一致および置換値の正規表現 (regex) を定義します。
- カスタム変換: さまざまな関数と式を使用して、独自の変換を作成します。
動的ルックアップ
このオプションは、接続されているデータソースからルックアップテーブルを参照するデータフィールドでのみ使用できます。適切なデータが XM Discover にインポートされるように、動的な検索式を指定できます。
ルックアップテーブルからの値置換
検索情報を任意のソースフィールドに追加して、XM Discoverプロジェクトに送信される正確な値をより細かく制御できます。ルックアップテーブルを使用すると、XM Discover での保存時に置換されるソース値を定義できます。
- 変換として Replace Value from Lookup Table が選択されていることを確認します。
- 検索情報のエクスポートをクリックして、検索情報ファイルを .XLSX 形式でエクスポートします。
ヒント:検索情報ファイルを使用して検索情報を追加することをお勧めします。検索情報を手動で追加する場合は、手順 8 に進みます。
- スプレッドシートエディタでファイルを開き、ファイルへのルックアップ値の追加を開始します。
- 一致列で、データコネクタからの入力値を追加します。
- 識別値列に、XM Discoverに保存する値を追加します。
- ファイルを XLS または XLSX ファイルとして保存します。
- XM Discoverで、[検索情報をインポート]をクリックし、コンピューターに保存されている検索情報ファイルを選択します。
- 必要に応じて、検索情報を編集できます。ソース値列にはデータコネクタからの値が含まれ、変換済値列には XM Discover に保存する値が含まれます。
- プラス記号 ( + ) をクリックして追加のルックアップペアを追加するか、ペアリングの横にあるマイナス符号 ( – ) をクリックしてペアを削除することができます。
- [保存]をクリックします。
値を RegEx に置換
正規表現(正規表現)を使用して入力データ値を置換し、XM Discoverプロジェクトにロードする前にデータを消去できます。
カスタム変換
独自のカスタム式を使用して、入力データを変換できます。カスタム変換を使用すると、日付書式の変更、フィールドの結合、先行ゼロの削除など、多くのタイプのデータ操作が可能になります。
- データ変換としてカスタム変換が選択されていることを確認します。
- データ変換式を構築します。式は、受信データおよび必要な出力によって異なります。式の構築方法の詳細については、「式の構築」サポートページを参照してください。
- 新しいフィールドを作成する場合は、フィールドのデータ型を変更できます。既存の項目を変換する場合、データ型を変更することはできません。
- 変換をテストするには、テスト値項目にテストデータ値を入力し、テストをクリックします。結果は “テスト” ボタンの横に表示されます。
- 式の構築とテストが終了したら、[保存] をクリックします。
ナチュラル ID の自動生成
XM Discoverにデータをアップロードする場合、ドキュメントには自然IDとして使用する一意のIDが含まれていない場合があります。これは、重複したドキュメントを識別するのに役立つ重要なフィールドです。アップロードしたデータには、自然な ID として使用する一意の ID が必要です。このセクションでは、カスタム変換を使用してデータをマッピングするときに自然な ID を設定する方法について説明します。
- データのマッピング時に、ソースマッピングセクションのプラス記号 ( + ) をクリックして、新しいカスタムフィールドを追加します。
- ユーザ定義項目に以下の情報を入力します。
- 項目名: 項目の名称を入力します。
- データ型: ドロップダウンメニューからテキスト属性を選択します。
- 属性名: “項目名” のままにします。
- 属性表示名: 必要に応じて、よりユーザフレンドリな表示名を項目に入力します。
- レポート可能: このチェックボックスを有効にします。レポートで自然 ID を使用するには、これを選択する必要があります。
- デフォルトソースマッピングセクションで、Natural ID マッピングに対してステップ 2 で登録した属性を選択します。
- 変換列の歯車アイコンをクリックします。
- カスタム変換を選択します。
- GENERATE_ID() 関数を検索し、関数セクションから式ボックスにドラッグします。
- [保存]をクリックします。
ヒント:[適用]をクリックしてマッピングを保存してください。
ドキュメントには、アップロード時にランダムに生成された ID が含まれるようになります。
特定の伝票日付の設定
XM Discoverにデータをアップロードする場合、ドキュメントには複数の日付フィールドが含まれる場合と、まったく含まれない場合があります。アップロードしたデータには、ドキュメント日付として使用する日付フィールドが必要です。このセクションでは、カスタム変換を使用してデータをマッピングする際に、ドキュメント日付を設定する方法について説明します。
- データのマッピング時に、ソースマッピングセクションのプラス記号 ( + ) をクリックして、新しいカスタムフィールドを追加します。
- ユーザ定義項目に以下の情報を入力します。
- 項目名: 項目の名称 (custom_date など) を入力します。
- データ型: ドロップダウンメニューから日付属性を選択します。
- 属性名: “項目名” のままにします (例: custom_date)。
- 属性表示名: 必要に応じて、よりユーザフレンドリな表示名を項目に追加します。
- レポート可能: このチェックボックスを有効にします。これは、Discover レポートで伝票日付が使用されるように選択する必要があります。
- デフォルトソースマッピングセクションで、伝票日付マッピングに対してステップ 2 で登録した属性を選択します。
- 変換列の歯車アイコンをクリックします。
- カスタム変換を選択します。
- 式ビルダには、必要に応じて日付を設定するための複数のオプションがあります。
- テストをクリックして、変換の結果を確認します。必要に応じて、テストで目的の結果が得られるまで式を調整します。
- 終了したら、[保存]をクリックします。
カスタム変換の例
このセクションでは、カスタム変換を使用してデータを操作する方法の例をいくつか説明します。
カスタムソース値を割り当てる
目標:カスタムテキスト値(「4 月のアンケート」)を「ソース」属性に割り当てます。
方法: “ソース” 項目に以下の変換を適用します (単にテキスト値を引用符で囲みます)。
“姓、名” を “名、姓” に変更
目標: 名前書式を “姓、名” から “名 (姓)” に変更し、すべての単語の最初の文字を大文字にします。
方法: 名称項目に以下の変換を適用します。
PROPERCASE(REPLACEBYREGEXP(NAME, “(.*),(.*)”, “$2 $1”))
UTC から CST への日付変換
目標:日付フィールドを UTC タイムゾーンから CST に変換します。
方法: END_DATE 項目に以下の変換を適用します。
CONVERT_TO_TIMEZONE(END_DATE, “Etc/UTC”, “America/Chicago”)
hh:mm:ss を分に変換します
目標:時間を hh:mm:ss 形式から分数に変換します。
方法:
GETMINUTESBETWEEN(TEXTTODATE(“1970-01-01”, “YYYY-MM-DD”), CONCAT(“1970-01-01T”, MY_TIME))
Unix エポック時間 (秒) の ISO 8601 への変換
目標: Unix エポックタイムスタンプ (秒) を ISO 8601 日付書式に変換します。
方法: 変換では、2 つの処理が実行されます。秒をミリ秒に変換してから、ミリ秒を ISO 8601 日付に変換します。
NUMBERTODATE(TEXTTONUMBER(CONCAT(MY_DATE, “000”)))
配列にあるかどうかに基づく値の誘導
目標: ステータス名をチェックし、一覧にされたステータスのいずれかと一致する場合は “DMV 領域” 値を割り当てます。それ以外の場合は、”Other States” に設定します。
方法: AREA というユーザ定義テキスト項目を追加し、変換を適用します。
IF(LOWER(STATE) in [“md”, “dc”, “va”], “DMV Area”, “Other States”)
ページタイトルから記事名を抽出
目標: ページタイトルの最後の “|” 区切り線の後の記事名を抽出します。
方法: ページタイトル項目に以下の変換を適用します。
TRIMRIGHT(MID(PAGE_TITLE,FINDLAST(PAGE_TITLE,”|”)+1,1000))
姓と名を単一フィールドに結合
目標: FIRST_NAME 項目と LAST_NAME 項目を新しい FULL_NAME 項目に結合し、すべての単語の最初の文字を大文字にします。
方法: FULL_NAME というカスタムテキスト項目を追加し、
PROPERCASE(CONCAT(FIRST_NAME, ” “, LAST_NAME))
という変換を適用します。
2 つのバーベティムを結合し、組み合わせたバーベティムのみをロード
目標:2 つの完全フィールド VERBATIM1 および VERBATIM2 を新しい VERBATIM3 フィールドに結合し、組み合わせたフィールドのみを XM Discover にロードします。
方法: これらのステップの実行:
- VERBATIM3 という名称の項目を完全に作成し、これに変換 CONCAT(VERBATIM1, ” “, VERBATIM2) を適用します。
- VERBATIM1 および VERBATIM2 フィールドの場合は、Data Type を Do Not Map に設定します。
複数変数ロールアップ
目標:複数の属性に分割された単一の質問に対する回答に対して、複数変数ロールアップを作成します。データセットに複数の “yes” または no 属性が含まれており、顧客が持つことができるメンバーシップのレベルが異なることを示しているとします。
- QID2_1 (シルバー)
- QID2_2 (ゴールド)
- QID2_3 (プラチナ)
すべての「はい」の回答を 1 つの新しい属性にまとめて、顧客のメンバーシップレベルを示すことができます。
方法:
TRIMRIGHT(CONCAT(IF(QID2_1==”Yes”, “Silver”, “”), IF(QID2_2==”Yes”, “Gold”, “”), IF(QID2_3==”Yes”, “Platinum”, “”)))
先頭文字削除
目標: 文字列の最初の文字を削除します。
方法: 以下の変換を適用します。
REPLACEBYINDEX(MY_NUMBER, 1, 1, “”)
先行ゼロのトリム
目標: 数値の先行ゼロをトリミングします。
方法: テキスト値に対して、変換
CONCAT(TEXTTONUMBER(MY_NUMBER), “”)
を適用します。数値の場合は、変換
TEXTTONUMBER(MY_NUMBER)
を適用します。