Skip to main content
Loading...
Skip to article
  • Qualtrics Platform
    Qualtrics Platform
  • Customer Journey Optimizer
    Customer Journey Optimizer
  • XM Discover
    XM Discover
  • Qualtrics Social Connect
    Qualtrics Social Connect

記事テンプレート


Was this helpful?


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The feedback you submit here is used only to help improve this page.

That’s great! Thank you for your feedback!

Thank you for your feedback!


ビルディング・エクスプレッションズについて

XM Discoverでは、データのフィルタリングやデータフィールドの変換に式を使用します。たとえば、式を使用して日付フィールドの書式を変更したり、空のレコードのデータを評価したり、数学的計算を実行したりすることができます。

式は4つの要素を含むことができる:

  • 定数:定数、テキスト文字列、日付を使用して演算や比較機能を実行できます。
  • フィールド:特定のデータ・コネクタを介して利用可能な数値フィールド、テキスト・フィールド、日付フィールドを使用して、それらのフィールドに対して演算機能や比較機能を実行することができます。
  • 機能:関数を使用して、フィールドや定数の変換を行うことができます。
  • オペレーター:演算子を使って演算機能を実行し、フィールドや定数を比較することができます。

定数

定数とは、数値、文字列、日付のことで、演算機能や比較に使用することができます。たとえば、年次CXアンケートを開始した日など、一定の日付を使用して、アンケート回答者の回答が何歳であるかを計算することができます。

定数の使用に関する注意事項

  • 文字列は大文字と小文字を区別して扱われる。大文字と小文字の区別の回避策として、UPPER関数またはLOWER関数を使用する。
  • 文字列と日付は引用符で囲んでください。
  • 数字に引用符は必要ない(引用符の中の数字はテキストとして扱われる)。

フィールド

フィールドは、受信データ・コネクタから利用可能なデータ・フィールドです。これには数値フィールド、文字列フィールド、日付フィールドがあり、これらを使って演算機能や比較を行うことができる。例えば、データセットに顧客の誕生日フィールドがあれば、その顧客の年齢を計算することができます。

フィールドを追加するには、フィールドセクションからボックスにドラッグします。フィールドを式ボックスにドラッグする

フィールドタイプには以下のアイコンが表示される:

  • 時計アイコン 日付フィールド用
  • 番号アイコン 数値フィールドの場合
  • abcアイコン テキストおよび逐語フィールド用

機能

このセクションにリストされている数値、テキスト、日付関数を使用できます。

関数を追加するには、FunctionsセクションからExpressionボックスにドラッグします。
関数を式ボックスにドラッグ

ファンクションタイプには以下のアイコンが付いている:

  • 時計アイコン 日付関数用
  • 番号アイコン 数値関数用
  • abcアイコン テキスト関数用

ABS

絶対値関数は、数値の絶対値を返します。

構文ABS(数値)

ABS(-22) は 22 に解決される。

コールセ

リスト内の NULL でない最初の値を返します。

Qtip:空文字列はnullとみなされます。すべての値がNULLの場合、この関数はNULLも返す。

構文COALESCE(value1, value2, value3)

COALESCE(“”,””, “Jane”,””, “Paul”)はJaneに解決される。

天井

四捨五入した数値を返します。

構文CEILING(数値)

CEILING(21.2)は22に解決される。

コンキャット

複数のテキスト文字列を1つに結合する。

構文CONCAT(“文字列1”, “文字列2”, “文字列3”)

CONCAT(“Hello”, “, “, “John”) は Hello, John に解決される。

含まれるもの

テキスト文字列(”within text”)が別のテキスト文字列(”find text”)を含む場合に真を返す。そうでなければ偽を返す。

構文CONTAINS(“テキスト内”, “テキストを見つける”)

CONTAINS(“one, two, three”, “two”) はtrueに解決される。

タイムゾーンに変換

日付と時間をあるタイムゾーンから別のタイムゾーンに変換します。

構文:CONVERT_TO_TIMEZONE(“date and time”, “time zone to convert from”, “time zone to convert to”)

日付書式に関する注意事項:

  • tzデータベース名を使ってタイムゾーンを指定する。
  • 日時をISO 8601またはyyyy-mm-dd hh:mm:ssで入力してください。
  • 日付と時刻がタイムゾーン情報とともに提供された場合、それは無視され、「変換元タイムゾーン」パラメータが優先される。
  • 変換された日付はISO 8601形式を使用します。変更する必要がある場合は、TODATE関数を使用する。
CONVERT_TO_TIMEZONE(2020-03-19 15:15:00, “Europe/London”, “Europe/Berlin”) は2020-03-19T16:15:00Zに解決されます。

データナンバー

日付フィールドをUnixタイムスタンプに変換します。

Qtip:Unixのタイムスタンプは1970年1月1日からの経過ミリ秒数です。

構文DATETONUMBER(“日付”)

Qtip:NUMBERTODATEという逆関数が利用できる。
DATETONUMBER(“2020-10-20T09:12:00.670Z”)は1603185120670に解決されます。

データテキスト

日付フィールドを要求された形式の日付文字列に変換します。

構文DATETOTEXT(“日付”, “日付フォーマット”)

DATETOTEXT(NOW(), “MMMM DD YYYY, h:mm:ss”)は2020年4月29日3時21分5秒に解決する。

週日

日付に対応する曜日を返します。

構文DAYOFWEEK(“日付”)

DAYOFWEEK(“2019-12-19T20:16:05.602Z”)は木曜日に解決される。

ダイナミック・ルックアップ

動的に読み込まれるルックアップテーブルを使ってフィールドの値を置き換える。ルックアップ値は、第1引数(”フィールド名”)で指定されたフィールドから取得される。

構文DYNAMICLOOKUP(“フィールド名”, “値”)

Qtip:DYNAMICLOOKUP関数内での変換は許可されていません。
DYNAMICLOOKUP(“QID15”, “10”)はExcellentに解決される。

エレメント・ファレイ

配列から n 番目の値を抽出し、配列の値を XM Discover の属性にマッピングします。

構文ELEMENTOFARRAY([“array element 1”, “array element 2”, “array element 3”], number)

注意:

  • 入力が配列でない場合、この関数はエラーを投げる。
  • 数値が配列のサイズより大きい場合、この関数はnullを返す。数字は0から始まる。
Qtip:この機能は特にXM Discover Link Connectorジョブに便利です。
ELEMENTOFARRAY([“a”, “b”, “c”], 1)はbに解決される。

フィールド

スペースやドットを含むフィールド名を折り返す。

構文FIELD(“フィールド名”)

FIELD(“Text Processed”) は、”Text Processed” というフィールド名の値を返す。

ファインド

あるテキスト文字列(”find text”)が別のテキスト文字列(”within text”)の中にあるかどうかを調べ、”within text “の最初の文字から “find text “の開始位置の番号を返す(1から始まる)。

検索を開始する「テキスト内」の文字の順番を指定できる(1から始まる)。order_numberを省略した場合、それは1とみなされる。

find text “が “within text “で見つからなければ-1を返す。

構文FIND(“テキストを検索”, “テキスト内”, order_number)

Qtip:この関数は大文字と小文字を区別します。大文字と小文字を区別せずに検索したい場合は、SEARCH関数を使用する。
例:FIND(“easy”, “easy come, easy go”, 3)は12に解決される。

最前線

あるテキスト文字列(”find text”)が別のテキスト文字列(”within text”)内で最初に出現する位置を特定し、”within text “の最初の文字から “find text “の開始位置を(1から始まる)番号で返す。

Qtip:この関数は大文字と小文字を区別する。”find text” が “within text” で見つからなければ -1 を返す。

構文FINDFIRST(“テキスト内”, “テキストを見つける”)

FINDFIRST(“easy come, easy go”, “easy”) は1に解決される。

ファインドラスト

あるテキスト文字列(”find text”)が別のテキスト文字列(”within text”)内で最後に出現した位置を探し、”within text “の最初の文字から “find text “の開始位置の番号を返す(1から始まる)。

Qtip:この関数は大文字と小文字を区別する。”find text” が “within text” で見つからなければ -1 を返す。

構文FINDLAST(“テキスト内”, “テキストを見つける”)

FINDLAST(“easy come, easy go”, “easy”) は12に解決される。

フロア

四捨五入した数値を返します。

構文FLOOR(数値)

FLOOR(21.9)は21となる。

GENERATE_ID

一意のIDを生成する。この関数は追加のパラメーターを必要としない。

構文GENERATE_ID()

GENERATE_ID() は 5ecfdd3fdd4ca4f23c5f2602 に解決される。

日間

Double関数は、2つの日付間の日数を返します。

構文GETDAYSBETWEEN(“開始日”, “終了日”)

GETDAYSBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”)は5を解決する。

時間

Double関数は、2つの日付間の時間数を返します。

構文GETHOURSBETWEEN(“開始日”, “終了日”)

GETHOURSBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”)は120に解決する。

Minute関数は、2つの日付の間の分数を返します。

構文GETMINUTESBETWEEN(“開始日”, “終了日”)

GETMINUTESBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”)は7200に解決される。

条件

ステートメントが真の場合は1つの値を返し、ステートメントが偽の場合は別の値を返す。

構文IF(ステートメント, “真の場合の値”, “偽の場合の値”)

例:IF(3 > 2, “greater”, “not greater”)は “より大きい “に解決される。

ISBLANK

フィールドが空のときに TRUE を、空でないときに FALSE を返す。

構文ISBLANK(“フィールド名”)

Qtip:ISBLANKはブール関数なので、属性に直接適用することはできない。適切な書式(日付、数値、テキスト)で結果を返す式の一部として使用する。
空のフィールドを検出し、結果をテキスト文字列として返す。IF(ISBLANK(“”), “empty”, “filled”) は空に解決する。
空でないフィールドを検出し、結果を数値で返す。IF(ISBLANK(“John”), 0, 1)は1に解決される。

ジョイナレイ

項目の配列を、指定した区切り文字でひとつの文字列に結合する。

構文JOINARRAY(array, delimiter, escape, skipNull, removeDuplicates)

上記の構文では、以下のようになる:

  • array: 結合する文字列あるいは数値の配列。
  • delimiter: 配列を連結する際に使用する区切り文字。
  • escape: trueの場合、引用符で囲まれた要素を保持する。
  • skipNull: trueの場合、nullの要素をスキップします。
  • removeDuplicated:trueの場合、複製要素を削除する。
JOINARRAY([“a”, “b”, “c”],”-“)は “a-b-c “に解決される。

レン

文字列中の文字数を返します。

構文LEN(“テキスト”)

LEN(“Count me if you can”)は19に解決される。

構文LEN([“text1”, text2])

LEN([“text1”, text2])は2に解決される。

テキストを小文字に変換する。

構文LOWER(“テキスト”)

LOWER(“HELLO”)はhelloに解決する。

MD5HASH

入力データにMD5ハッシュを適用し、そのデータに基づいて一意のIDを生成する。

構文MD5HASH(“text”)

MD5HASH(“Hello”)は543d4abcdc64a9a377c959e4b6e35574に解決される。

ミッド

テキスト文字列から指定した文字数を、指定した位置から返します。

ポジション(order_number)は1から始まる。

構文MID(“text”, order_number, characters_number)

1文字目から8文字返します。MID(“習うより慣れろ”, 1, 8)は練習を意味する。
16文字目から8文字を返します。MID(“習うより慣れろ”, 16, 8)は完璧を意味する。

MOD

index関数は、ある数値を区切り線で割ったときの余りを返します。

Qtip:結果は数字と同じ符号を持つ。

構文MOD(数, 除数)

MOD(7, 4) は 3 に解決される。

今すぐ

現在の日付と時刻を返します。この関数は追加のパラメーターを必要としない。

構文NOW()

NOW() は 2020-01-29T13:35:09.956Z に解決されます。

日付

Unixタイムスタンプを日付フィールドに変換します。Unixタイムスタンプは1970年1月1日からの経過ミリ秒数です。

構文NUMBERTODATE(数値)

Qtip:DATETONUMBERという逆関数があります。
NUMBERTODATE(1603185120670)は2020-10-20T09:12:00.670Zに解決されます。

NUMBERTOTEXT

数値をテキストに変換する。

構文NUMBERTOTEXT(数値)

NUMBERTOTEXT(21) は 21 に解決される。

捕虜

x の y 乗の結果を返します。

構文POW(x, y)

POW(2, 4)は16に解決される。

プロパーケース

テキスト文字列の最初の文字を大文字にする。

構文PROPERCASE(“テキスト”)

PROPERCASE(“practice makes perfect”) は Practice makes perfect に解決される。

ランダム化機能

この関数は、追加のパラメータを必要としません。

構文RANDOM()

RANDOM() は 0.7669519868005736 に解決される。

ランダム

RandomNumber関数は、2つの数値の間のランダムな整数値を返します。

Qtip:この関数は最小値と最大値を返すことができる。

構文RANDOMBETWEEN(最小数, 最大数)

RANDOMBETWEEN(1, 10)は2に解決される。

REMOVEHTMLTAGS

テキスト文字列から HTML タグを削除します。

構文REMOVEHTMLTAGS(“text”)

REMOVEHTMLTAGS(“<html>hello</html>”) はhelloに解決する。

リプレース

テキスト文字列の一部 (「古いテキスト」) を、”text” 内での “古いテキスト” の出現回数 (occurrence_number) に基づいて設定された回数 (number_of_replacements) 別のテキスト文字列 (「新しいテキスト」) に置き換える。

構文REPLACE(“text”, “old text”, “new text”, occurrence_number, case_sensitivity, number_of_replacements)

REPLACE(“箱の内側を考える”, “inside”, “outside”, 1, false, 1) は箱の外側を考えるに解決する。

リプレイスインデックス

テキスト文字列の一部(「古いテキスト」)を、指定した文字数に基づいて別のテキスト文字列(「新しいテキスト」)に置き換える。

ポジション(order_number)は1から始まる。

構文REPLACE(“old text”, order_number, characters_number, “new text”)

REPLACEBYINDEX(“think inside the box”, 7, 6, “outside”) は、think outside the boxと解決する。

replacebyregexp(リプレースバイレジェックスプ

正規表現を使ってテキスト値を置き換えます。

Qtip:正規表現とは、検索パターンを定義する文字の並びのことです。簡単な紹介は、Microsoftの.NET正規表現を参照してください。
注意カスタムコーディング機能はそのまま提供され、実装するにはプログラミングの知識が必要です。Qualtricsサポートでは、カスタムコーディングに関するサポートやコンサルティングを提供していません。その代わりに、私たちの熱心なユーザー・コミュニティに尋ねてみることもできます。カスタムコーディングサービスの詳細については、クアルトリクスの営業担当にお問い合わせください。

構文REPLACEBYREGEXP(“text”, “パターンマッチングの正規表現”, “置換値の正規表現”)

Qtip:バックスラッシュ(◆)、ダブルクォーテーション(“)、シングルクォーテーション(‘)のような特殊文字はエスケープ(バックスラッシュを前に付ける)する必要があります。例えば、任意の空白文字( \s)にマッチするパターンを使いたい場合は、バックスラッシュを追加してエスケープする必要があります(˶‾᷄ -̫ ‾᷅˵)。
REPLACEBYREGEXP(“Clarabank UK”, “(.)\s(.)”, “$1;$2”) はClarabank;UKに解決される。

ラウンド

Number関数は、小数点以下を四捨五入した数値を返します。

構文ROUND(数値)

ROUND(22.5)は23となる。

検索

あるテキスト文字列(”find text”)が別のテキスト文字列(”within text”)の中にあるかどうかを調べ、”within text “の最初の文字から “find text “の開始位置の番号を返す(1から始まる)。

検索を開始する「テキスト内」の文字の順番を指定できる(1から始まる)。order_numberを省略した場合、それは1とみなされる。

find text “が “within text “で見つからなければ-1を返す。

構文SEARCH(“テキストを検索”, “テキスト内”, order_number)

Qtip:この関数は大文字と小文字を区別しません。大文字と小文字を区別して検索したい場合は、FIND関数を使用する。
SEARCH(“EASY”, “easy come, easy go”, 3) は12に解決する。

スプリット

指定した文字列を、指定した区切り文字に基づいて部分文字列の配列に分割する。この関数は、出力値が文字列でなければならないため、JOINARRAY関数やELEMENTOFARRAY関数のパラメータとして使用することができます。

構文SPLIT(“文字列_to_split”, “_”)

SPLIT(“firstname_lastname”,”_”)は[“firstname”, “lastname”]に解決されます。

サブスティテュート

テキスト文字列の「古いテキスト」を「新しいテキスト」に置き換える。

どの「古いテキスト」を置き換えるかを指定できる。occurrence_number を指定すると、そのインスタンスの「古いテキスト」だけが置き換えられる。そうでなければ、テキスト中の “old text “はすべて “new text “に変更される。

構文SUBSTITUTE(“テキスト”, “古いテキスト”, “新しいテキスト”, occurrence_number)

1」を「2」に置き換える。SUBSTITUTE(“2019年第1四半期”, “1”, “2”, 1) は2019年第2四半期に解決する。
2番目に出現する “1 “を “2 “に置き換える。SUBSTITUTE(“2019年第1四半期”, “1”, “2”, 2) は2029年第1四半期に解決する。
例:”1 “が出現するたびに “2 “で置換する:SUBSTITUTE(“2019年第1四半期”, “1”, “2”)は、2029年第2四半期に解決する。

サブストール

テキスト文字列の最初の文字から始まり、指定した文字数(1から始まる)までの部分を返します。

構文SUBSTR(“text”, order_number)

SUBSTR(“practice makes perfect”, 9)は練習を意味する。

タイトルケース

テキスト文字列の各単語の最初の文字を大文字にする。

構文TITLECASE(“テキスト”)

TITLECASE(“practice makes perfect”) は Practice Makes Perfect に解決される。

テキスト日付

日付文字列を以下の形式の日付フィールドに変換します:YYYY-MM-DDThh:mm:ssZ。

構文TEXTTODATE(“日付”, “日付書式”)

Qtip:日付の書式は、文字列で使用されている書式を反映する必要があります。両方のパラメーターが必要である。
例:TEXTTODATE(“2019-12-19”, “YYYY-MM-DD”)は2019-12-19T00:00:00.000Zに解決されます。

TEXTTONUMBER

テキストを数値に変換します。

構文TEXTTONUMBER(テキスト)

TEXTTONUMBER(21)から21。

トランスレート

受信データを翻訳する。

構文:TRANSLATE (“ソース言語コード”, “ターゲット言語コード”, “テキスト”)。

注釈

  • この機能は、Google翻訳APIの認証情報を持つアカウントでのみ使用できます。
  • サポートされている言語コードの完全なリストについては、Googleクラウド翻訳のドキュメントを参照してください。
TRANSLATE (“en”, “es”, “Hello world”) は Hola mundo に変換される。

トリムレフト

テキスト文字列の左端からスペースを削除する。

構文TRIMLEFT(“テキスト”)

TRIMLEFT(” hello”)はhelloに解決される。

トリムライト

テキスト文字列の右端からスペースを削除する。

構文TRIMRIGHT(“テキスト”)

TRIMRIGHT(“hello “) は hello に解決される。

テキストを大文字に変換する。

構文UPPER(“text”)

UPPER(“hello”)はHELLOに解決される。

オペレーター

以下のリストにある算術演算子や比較演算子を使用することができます。

算術演算子

演算子 説明
+ 追加
減算または否定
* 乗算
/ 除算

例えば、以下の式は2つの数値の平均を返す。

(評価1 + 評価2) / 2

比較演算子

演算子 説明
== 等しい
ってね; 次の数より大きい
ールド; 次の数より小さい
>= 次の数以上
<= 次の数以下
!= 次と等しくない

例えば、以下の式は、RATINGが3以下の場合は「悪い評価」を返し、RATINGが3以上の場合は「良い評価」を返す。

IF(RATING <= 3, “悪い評価”, “良い評価”)

論理演算子

IF関数やジョブフィルターを使用する際は、論理演算子を使用して複数の条件を指定します。

Qtip:論理演算子は必ず小文字で使うこと。
演算子 説明
および and “で区切られた条件がすべて真であれば、条件は真となる。
インチ 条件は、リストされた値のいずれかと一致する場合に真となる。

構文:in[“値1”, “値2”, “値3”]]。

Qtip:複数の “or “演算子の代わりにこれを使う。
または or “で区切られた条件のいずれかが真であれば、条件は真となる。

例えば、以下の式は、COUNTRYフィールドに指定された値のいずれかが含まれていれば、”Mediterranean “を返す。そうでなければ、”地中海以外 “を返す。

IF(LOWER(COUNTRY) in [“フランス”, “ポルトガル”, “イタリア”, “スペイン”, “ギリシャ”, “マルタ”, “キプロス”], “地中海”, “非地中海”)

構文のヒント

無効な表現を避けるために、以下のヒントに従ってください:

  • 1つの式に複数の関数を組み合わせる場合は、開始括弧と終了括弧の数が一致していることを確認してください。
    IF(GETDAYSBETWEEN(feedback_date, response_date) > 3, “delayed”, “not delayed”).
  • 式で使用される各関数について、必要な引数がすべて存在する必要がある。例えば、TODATE関数を正しく動作させるには、日付と日付書式の両方の引数が必要です。
  • 関数や算術演算、比較演算でサポートされている正しいデータ型を使用するようにしてください。例えば、ABS関数を正しく動作させるには数値が必要であり、テキストや日付フィールドでは動作しない。
  • 式の中にドット(”.”)がある場合は、FIELD関数と引用符(”シングル “または “ダブル”)で囲みます。例えば、”agentParticipants.0.agentLoginName “というフィールド名がある場合、これをどのように変換するかは以下のようになります:
    IF(CONTAINS(LOWER(FIELD(“agentParticipants.0.agentLoginName”)), “bot”), “YES”, “NO”).

当サポートサイトの日本語のコンテンツは英語原文より機械翻訳されており、補助的な参照を目的としています。機械翻訳の精度は十分な注意を払っていますが、もし、英語・日本語翻訳が異なる場合は英語版が正となります。英語原文と機械翻訳の間に矛盾があっても、法的拘束力はありません。