記事テンプレート
Discoverでのデータ変換について
XM Discoverにインポートする前に、受信データを変換することができます。データのクリーニングやデータ形式の変更が必要な場合に便利です。
データ変換にアクセスする:
- インポートジョブを設定する際、変換したいデータフィールドの次へ、変換列の歯車アイコンをクリックします。
Qtip:既存のジョブのデータ変換を更新したい場合は、ジョブオプションメニューからデータマッピングを選択してください。 - データ変換を選択します。各変革の詳細については、リンク先のセクションを参照されたい。
- 変換しない:インポートされたフィールドを変換しない。
- ダイナミック・ルックアップ:このオプションはルックアップ・フィールドにのみ使用できる。このフィールドを選択すると、ルックアップテーブルからそのフィールドの最新のルックアップ値が適用される。
- ルックアップテーブルから値を置換:ソース値と置換値のペアを定義する。
- RegExで値を置き換える:パターン・マッチと置換値のための正規表現(regex)を定義する。
- カスタム・トランスフォーメーション:様々な関数や式を使って独自の変換を構築。
ダイナミック・ルックアップ
このオプションは、接続されたデータソースのルックアップテーブルを参照するデータフィールドにのみ使用できます。XM Discoverに正しいデータがインポートされるように、動的ルックアップ式を指定できます。
ルックアップテーブルから値を置換
どのソースフィールドにもルックアップを追加して、XM Discoverプロジェクトに送信される値をより正確にコントロールすることができます。ルックアップテーブルを使用すると、XM Discoverに保存する際に置き換えられるソース値を定義できます。
- 変換として「ルックアップテーブルから値を置換」が選択されていることを確認してください。
- Export Lookup(ルックアップのエクスポート)をクリックすると、ルックアップ・ファイルが.XLSX形式でエクスポートされます。
Qtip:ルックアップファイルを使ってルックアップを追加することをお勧めします。ルックアップを手動で追加したい場合は、ステップ8に進んでください。
- 表計算エディターでファイルを開き、ルックアップ値をファイルに追加し始める。
- match列に、データ・コネクタからの受信値を追加します。
- recoded 列に、XM Discoverに保存したい識別値を追加します。
- ファイルをXLSまたはXLSXファイルとして保存します。
- XM DiscoverでImport Lookupをクリックし、コンピューターに保存されているルックアップファイルを選択します。
- 必要であれば、ルックアップを編集することもできる。ソース値列にはデータ・コネクタからの値が含まれ、変換値列にはXM Discoverに保存したい値が含まれます。
- プラス記号(+)をクリックすると、ルックアップのペアリングを追加でき、ペアリングの次へ のマイナス記号(–)をクリックすると、ペアリングを削除できます。
- [保存]をクリックします。
RegExで値を置き換える
正規表現(regex)を使って入力データの値を置き換えることができるので、XM Discoverプロジェクトに読み込む前にデータをきれいにすることができます。
カスタム・トランスフォーム
独自のカスタム式を使用して入力データを変換できます。カスタム変換により、日付フォーマットの変更、フィールドの結合、先頭のゼロの削除など、さまざまなタイプのデータ操作が可能になります。
- データ変換としてカスタム変換が選択されていることを確認してください。
- データ変換式を構築する。あなたの表現は、入力されるデータと希望する出力によって異なります。式の構築方法の詳細については、「式の構築」のサポートページを参照してください。
- 新しいフィールドを作成する場合、フィールドのデータタイプを変更することができます。既存のフィールドを変換する場合は、データタイプを変更することはできない。
- 変換をテストするには、Test Valueフィールドにテストデータ値を入力し、Testをクリックします。結果は “Test “ボタンの次へ表示されます。
- 式の構築とテストが終了したら、Saveをクリックします。
自然なIDの自動生成
XM Discoverにデータをアップロードする際、ドキュメントに固有IDが含まれていない場合があります。固有IDは、重複したドキュメントを識別するのに役立つ重要なフィールドです。アップロードされたデータには、自然IDとして使用するための一意の識別子が必要です。このセクションでは、カスタム変換を使用してデータをマッピングする際に、自然なIDを設定する方法について説明します。
- データソースをマッピングしているときに、ソースマッピングセクションのプラス記号(+)をクリックして、新しいカスタムフィールドを追加します。
- カスタムフィールドには以下の情報を入力してください:
- フィールド名:フィールド名を入力します。
- データタイプ:データ型:ドロップダウンメニューから「テキスト属性」を選択。
- 属性名:”フィールド名 “と同じにしておく。
- 属性表示名:必要であれば、より使いやすいフィールド表示名を入力する。
- レポート可能:このチェックボックスを有効にする。レポートに自然IDを使用できるように、これを選択する必要があります。
- デフォルトソースマッピングセクションで、ステップ 2 で作成した Natural ID マッピング用の属性を選択します。
- Transformations列の歯車アイコンをクリックします。
- カスタム変換を選択します。
- GENERATE_ID()関数を探し、Functionsセクションから式ボックスにドラッグします。
- [保存]をクリックします。
Qtip:適用を クリックしてマッピングを保存してください。
これで、アップロードされた文書にはランダム化されたIDが付与されます。
特定の文書の日付を設定する
XM Discoverにデータをアップロードする際、ドキュメントには複数の日付フィールドが含まれている場合もあれば、まったく含まれていない場合もあります。アップロードするデータには、文書の日付として使用する日付フィールドが必要です。このセクションでは、カスタム変換を使用してデータをマッピングする際に、ドキュメントの日付を設定する方法について説明します。
- データソースをマッピングしているときに、ソースマッピングセクションのプラス記号(+ ) をクリックして、新しいカスタムフィールドを追加します。
- カスタムフィールドには以下の情報を入力してください:
- フィールド名:フィールド名を入力します(例:custom_date)。
- データ・タイプ:データ型:ドロップダウンメニューから「日付属性」を選択。
- 属性名:フィールド名」と同じにしてください(例:custom_date)。
- 属性表示名:必要であれば、フィールドにより使いやすい表示名を追加する。
- レポート可能:このチェックボックスを有効にする。Discoverレポートで日付を文書化する場合は、これを選択する必要があります。
- デフォルト・ソース・マッピング」セクションで、ステップ2で作成した「ドキュメント日付」マッピング用の属性を選択します。
- Transformations列の歯車アイコンをクリックします。
- カスタム変換を選択します。
- エクスプレッション・ビルダーでは、ニーズに合わせて日付を設定するためのオプションがいくつか用意されている:
- Testをクリックすると、変換結果が表示されます。必要であれば、テストが望ましい結果を出すまで表現を調整する。
- 終了したらSaveをクリックする。
カスタム変換の例
このセクションでは、カスタム変換を使用してデータを操作する方法の例をいくつか取り上げます。
カスタムソース値の割り当て
目標:「元のアンケート」属性にカスタムテキスト値(「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の日付フォーマットに変換する。
秒をミリ秒に変換し、ミリ秒を ISO 8601 日付に変換します。
NUMBERTODATE(TEXTTONUMBER(CONCAT(MY_DATE, “000”)))
何かが配列の中にあるかどうかに基づいて値を導出する
ゴール:州名をチェックし、リストされた州のいずれかに一致する場合は、「DMVエリア」の値を割り当てる。それ以外は “その他の州 “とする。
どのようにAREAというカスタム・テキストフィールドを追加し、以下の変換を適用する。
IF(LOWER(STATE) in [“md”, “dc”, “va”], “DMV Area”, “Other States”)
ページタイトルから記事名を抽出する
目的:ページタイトルの最後の「|」の区切り線の後にある記事名を抽出する。
どのように:次の変換をページ・タイトル・フィールドに適用する:
TRIMRIGHT(MID(PAGE_TITLE,FINDLAST(PAGE_TITLE,”|”)+1,1000))
姓と名を1つのフィールド名に結合する
目標:FIRST_NAMEフィールドとLAST_NAMEフィールドを新しいFULL_NAMEフィールドに統合し、すべての単語の最初の文字を大文字にする。
どのようにFULL_NAMEというカスタム・テキスト・フィールドを適用し、以下の変換を適用する:
PROPERCASE(CONCAT(FIRST_NAME, ” “, LAST_NAME))
2つのVerbatimを結合し、結合したVerbatimのみをロードする。
目的:2つの逐語訳フィールドVERBATIM1とVERBATIM2を新しいVERBATIM3フィールドに結合し、結合された逐語訳のみをXM Discoverにロードする。
どのように以下のステップを実行してください:
- VERBATIM3という逐語的フィールドを作成し、それに以下の変換を適用する:CONCAT(VERBATIM1, ” “, VERBATIM2)
- VERBATIM1およびVERBATIM2フィールドについては、データタイプをDo Not Mapに設定する。
多変数ロールアップ
目標:1つの質問に対する回答が複数の属性にまたがっている場合、複数変数のロールアップを作成する。データセットに複数の「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)