フィルター条件内で、演算子を使用して 2 つの値をリンクする必要があります。
次に、使用可能な演算子のリストを示します。
演算子 |
目的 |
例 |
---|---|---|
次と等しい |
2 番目の「値」列に入力されたデータと同一の結果を返します。 |
姓(@lastName)が「佐藤」と等しいは、姓が佐藤の受信者のみを返します。 |
より大きい |
入力された値より大きい値を返します。 |
年齢(@age)が 50 より大きいは、「50」より大きいすべての値(「51」、「52」など)を返します。 |
より小さい |
入力された値より小さい値を返します。 |
作成日(@created)が「DaysAgo(100)」より小さいは、過去 100 日以内に作成されたすべての受信者を返します。 |
次よりも大きいか等しい |
入力された値より大きいか等しいすべての値を返します。 |
年齢(@age)が「30」よりも大きいか等しいは、30 歳以上のすべての受信者を返します。 |
次よりも小さいか等しい |
入力された値より小さいか等しいすべての値を返します。 |
年齢(@age)が「60」よりも小さいか等しいは、60 歳以下のすべての受信者を返します。 |
次と等しくない |
入力された値と等しくないすべての値を返します。 |
言語(@language)が「英語」と等しくない。 |
次で始まる |
入力された値で始まる結果を返します。 |
アカウント番号(@account)が「32010」で始まる。 |
次で始まらない |
入力された値で始まらない結果を返します。 |
アカウント番号(@account)が「20」で始まらない。 |
次を含む |
入力された値を含む結果を返します。 |
E メールドメイン(@domain)が「mail」を含むは、「mail」を含むすべてのドメイン名を返します。したがって、「gmail.com」ドメインも返されます。 |
次を含まない |
入力された値を含まない結果を返します。 |
E メールドメイン(@domain)が「vo」を含まない。この場合、「vo」を含むドメイン名は返されません。結果には「Voila.jp」ドメイン名は表示されません。 |
次に類似 |
「次に類似」は、「次を含む」演算子と非常によく似ています。値に % ワイルドカード文字を挿入できます。 |
姓(@lastName)が「Jon%s」に類似している。ここでは、オペレーターが「n」と「s」の間の欠落している英数字を忘れたので、ワイルドカード文字が「Jones」という名前を検索するための「ジョーカー」として使用されています。 |
次に類似しない |
「次に類似」と似ています。入力した値を収集しないようにすることができます。この演算子でも、入力した値に % ワイルドカード文字が含まれている必要があります。 |
姓(@lastName)が「Smi%h」に類似していない。この場合、姓が「Smi%h」の受信者は返されません。 |
空である |
この場合、検索する結果は、2 番目の「値」列にある空の値と一致します。 |
モバイル(@mobilePhone)が空であるは、モバイル番号がないすべての受信者を返します。 |
空でない |
「空である」演算子の逆の機能です。2 番目の「値」列にあるデータを入力する必要はありません。 |
E メール(@email)は空でない。 |
次に含まれる |
指定された値に含まれる結果を返します。これらの値はコンマで区切る必要があります。 |
生年月日(@birthDate)が「1979/12/10, 1984/12/10」に含まれるは、これらの日付の間に生まれた受信者を返します。 |
次に含まれない |
「次に含まれる」演算子と同様に機能します。ここでは、入力された値に基づいて受信者を除外します。 |
生年月日(@birthDate)が「1972/12/10, 1984/12/10」に含まれない。前の例とは異なり、これらの日付の間に生まれた受信者は返されません。 |
複数のフィルター条件を使用するクエリでは、条件間のリンクを定義する必要があります。次の 3 つのリンクが使用可能です。
デフォルトで表示されている「および」をクリックし、ドロップダウンリストから選択します。
および:条件を追加し、オーバーフィルターが可能です。
または:条件を追加し、オーバーフィルターが可能です。
次の例では、E メールドメインに「orange.co.jp」が含まれているか、郵便番号が「123」で始まる受信者を検索できます。
例外:2 つのフィルターがあり、最初のフィルターで値が返されない場合、このタイプのリンクでは例外が作成されます。
次の例では、E メールドメインに「orange.co.jp」が含まれている受信者が返されますが、受信者の姓が「田中」である場合を除きます。
次の例のフィルターでは、スペイン語を話す受信者、またはモバイル番号がある女性、またはアカウント番号がない受信者、および会社名が「N」の文字で始まる受信者が表示されます。
この節では、ツールバーの青色の矢印を使用して条件を優先順位付けする方法について説明します。
右向き矢印を使用して、括弧レベルをフィルターに追加できます。
左向き矢印を使用して、選択した括弧レベルをフィルターから削除できます。
上下矢印を使用して、条件を移動することで実行順序を変更できます。
この例では、矢印を使用して括弧レベルを削除する方法を示します。まず、次のフィルター条件を作成します。市区町村が横浜市と等しい、または性別が男性と等しい、およびモバイルが指定されていない、またはアカウント番号が「95」で始まる、および会社名が「A」で始まる。
性別(@gender)が男性と等しいフィルター条件にカーソルを置き、括弧レベルを削除矢印をクリックします。
「性別(@gender)が男性と等しい」条件が括弧の外に出されます。この条件は、「市区町村が横浜市と等しい」条件と同じレベルに移動しました。これらの条件は、「および」でリンクされます。
使用可能フィールドはテーブルごとに異なります。すべてのフィールドは、メイン要素と呼ばれるメインノードに保存されます。次の例では、使用可能フィールドは受信者テーブルにあります。フィールドは常にアルファベット順に表示されます。
選択したフィールドの詳細がウィンドウの下部に表示されます。例えば、「E メールドメイン」フィールドは「SQL 計算フィールド」であり、拡張は(@domain)です。
使用可能フィールドを検索するには、検索ツールを使用します。
出力列に追加するには、使用可能フィールドをダブルクリックします。クエリの最後に、選択した各フィールドにデータのプレビューウィンドウで列が作成されます。
詳細フィールドはデフォルトでは表示されません。すべてを表示するには、使用可能フィールドの右下隅で詳細フィールドを表示をクリックします。前のビューに戻るには、再度クリックします。
例えば、受信者テーブルで、詳細フィールドは「ブール値 1」、「ブール値 2」、「ブール値 3」、「「フォルダー」リンクの外部キー」などです。
次の例は、受信者テーブルの使用可能フィールドを示しています。
フィールドの各種カテゴリ:
アイコン |
説明 |
例 |
---|---|---|
![]() |
単純フィールド |
E メール、性別など |
![]() |
プライマリキー.この SQL フィールドによって、テーブル内のレコードが識別されます。 |
識別子受信者はプライマリキーであり、識別子は定義ごとに一意です。 |
![]() |
外部キー。別のテーブルへのリンクとして使用されます。 |
受信者外部キー、サービス外部キーなど。 |
![]() |
計算フィールド。このタイプのフィールドは、リクエストに応じてデータベース内の値を使用して計算されます。 |
年齢、E メールドメインなど。 |
![]() |
長いテキストを含むフィールド。 |
コメント、住所全体など。 |
![]() |
インデックス付きの SQL フィールド。 |
姓名、ISO コードなど。 |
テーブルおよびコレクション要素へのリンク:
アイコン |
説明 |
例 |
---|---|---|
![]() |
特定のテーブルへのリンク。これらは 1 対 1 タイプの関連付けと一致します。1 つのソーステーブルは、1 つのターゲットテーブルにのみ一致します。例えば、1 人の受信者は 1 つの国にのみリンクすることができます。 |
フォルダー、都道府県、国など。 |
![]() |
特定のテーブルのコレクション要素。これらは 1 対 N タイプの関連付けと一致します。1 つのソーステーブルは複数のターゲットテーブルと一致することができますが、1 つのターゲットテーブルは 1 つのソーステーブルとのみ一致することができます。例えば、1 人の受信者は「n」個の購読レターを購読することができます。 |
購読、リスト、除外ログなど。 |
必要に応じて、データフォーマット中に列を追加します。計算フィールドによって、データのプレビューセクションに列が追加されます。計算フィールドを追加をクリックします。
次の 4 つのタイプの計算フィールドがあります。
固定文字列:一連の文字列を追加できます。
JavaScript タグを含む文字列:一連の文字列と JavaScript ディレクティブを組み合わせた計算フィールドの値。
JavaScript 式:計算フィールドの値は JavaScript 関数評価の結果です。返される値はタイプ指定できます(数値、日付など)。
列挙:このタイプのフィールドでは、いずれかの出力列の内容を新しい列で使用または変更できます。
列のソース値を使用し、宛先値を割り当てることができます。この宛先値は新しい出力列に表示されます。
「列挙」タイプ計算フィールドを追加する例は、この節で確認できます。
「列挙」タイプ計算フィールドには、次の 4 つの条件を含めることができます。
挿入したフィールドの詳細を表示するには、計算済みフィールドの詳細をクリックします。
この計算フィールドを削除するには、計算フィールドを削除のバツ印をクリックします。
式編集ツールを使用すると、集計の計算、関数の生成または式を使用した数式の編集をおこなうことができます。
次の例は、プライマリキーに対してカウントを実行する方法を示しています。
次の手順に従います。
抽出するデータウィンドウで「追加」をクリックします。数式のタイプウィンドウで、式を入力する数式のタイプを選択します。
「フィールドのみ」、「集計」、「式」など、様々なタイプの数式を使用できます。
「集計関数のプロセス」および「カウント」を選択します。「次へ」をクリックします。
プライマリキーが計算されます。
次に、数式のタイプウィンドウで使用可能な選択肢の詳細な表示を示します。
「「フィールドのみ****」では、選択するフィールドウィンドウに戻ることができます。
「集計」(「集計関数のプロセス」)。使用する集計の例は次のとおりです。
「カウント」では、プライマリキーカウントを実行できます。
「合計」では、顧客による 1 年間のすべての購入を合計できます。
「最大値」では、「n」製品を最も多く購入した顧客を検索できます。
「最小値」では、顧客を並べ替え、最近オファーを購読した顧客を検索できます。
「平均」。この関数では、受信者の平均年齢を計算できます。
「ユニーク」ボックスでは、列の一意のゼロ以外の値を収集できます。例えば、受信者のすべてのトラッキングログを収集し、すべて同じ受信者に関連するトラッキングログを値 1 に変更できます。
「式」では、式を編集ウィンドウを開きます。これにより、数字が非常に多く、入力エラーを起こしやすい電話番号を検出できます。
使用可能なすべての関数のリストについては、関数のリストを参照してください。
「式」タイプの数式を選択すると、式を編集ウィンドウが表示されます。「集計」、「文字列」、「日付」、「数値」、「通貨」、「ジオマーケティング」、「ウィンドウイング関数」、「その他」など、様々なカテゴリの関数を使用可能フィールドに関連付けることができます。
式エディターは次のように表示されます。
式エディターではデータベーステーブルのフィールドを選択し、高度な関数を追加できます。次の関数を使用できます。
集計
名前 |
説明 |
構文 |
Avg |
数値タイプの列の平均を返します |
Avg(<値>) |
Count |
列の null でない値をカウントします |
Count(<値>) |
CountAll |
返される値をカウントします(すべてのフィールド) |
CountAll() |
Countdistinct |
列の null でないユニーク値をカウントします |
Countdistinct(<値>) |
Max |
数値、文字列または日付タイプの列の最大値を返します |
Max(<値>) |
Min |
数値、文字列または日付タイプの列の最小値を返します |
Min(<値>) |
StdDev |
数値、文字列または日付タイプの列の標準偏差を返します |
StdDev(<値>) |
Sum |
数値、文字列または日付タイプの列の値の合計を返します |
Sum(<値>) |
文字列
名前 |
説明 |
構文 |
AllNonNull2 |
すべてのパラメーターが null でなく空でもないかどうかを示します |
AllNonNull2(<文字列>, <文字列>) |
AllNonNull3 |
すべてのパラメーターが null でなく空でもないかどうかを示します |
AllNonNull3(<文字列>, <文字列>, <文字列>) |
Ascii |
文字列の最初の文字の ASCII 値を返します |
Ascii(<文字列>) |
Char |
ASCII コード「n」に対応する文字を返します |
Char(<数値>) |
Charindex |
文字列 1 における文字列 2 の位置を返します |
Charindex(<文字列>, <文字列>) |
GetLine |
文字列の n 番目(1 から n)のラインを返します |
GetLine(<文字列>) |
IfEquals |
最初の 2 つのパラメーターが等しい場合に、3 番目のパラメーターを返します。等しくない場合は、最後のパラメーターを返します |
IfEquals(<文字列>, <文字列>, <文字列>, <文字列>) |
IsMemoNull |
パラメーターとして渡されたメモが null かどうかを示します |
IsMemoNull(<メモ>) |
JuxtWords |
パラメーターとして渡された文字列を連結します。必要に応じて、文字列間にスペースを追加します. |
JuxtWords(<文字列>, <文字列>) |
JuxtWords3 |
パラメーターとして渡された文字列を連結します。必要に応じて、文字列間にスペースを追加します |
JuxtWords3(<文字列>, <文字列>, <文字列>) |
LPad |
左側の完成した文字列を返します |
LPad(<文字列>, <数値>, <文字>) |
Left |
文字列の最初の n 文字を返します |
Left(<文字列>, <数値>) |
Length |
文字列の長さを返します |
Length(<文字列>) |
Lower |
文字列を小文字で返します |
Lower(<文字列>) |
Ltrim |
文字列の左側の空白を削除します |
Ltrim(<文字列>) |
Md5Digest |
文字列の MD5 キーの 16 進数表現を返します |
Md5Digest(<文字列>) |
MemoContains |
パラメーターとして渡す文字列をメモに含めるかどうかを指定します |
MemoContains(<メモ>、<文字列>) |
RPad |
右側の完成した文字列を返します |
RPad(<文字列>, <数値>, <文字>) |
Right |
文字列の最後の n 文字を返します |
Right(<文字列>) |
Rtrim |
文字列の右側の空白を削除します |
Rtrim(<文字列>) |
Smart |
各単語の最初の文字を大文字にして文字列を返します |
Smart(<文字列>) |
Substring |
文字列の n1 文字目から始まる長さ n2 文字の部分文字列を抽出します |
Substring(<文字列>, <オフセット>, <長さ>) |
ToString |
数値を文字列に変換します |
ToString(<数値>, <数値>) |
Upper |
文字列を大文字で返します |
Upper(<文字列>) |
VirtualLink |
他の 2 つのパラメーターが等しい場合に、パラメーターとして渡されたリンクの外部キーを返します |
VirtualLink(<数値>, <数値>, <数値>) |
VirtualLinkStr |
他の 2 つのパラメーターが等しい場合に、パラメーターとして渡されたリンクの外部(テキスト)キーを返します |
VirtualLinkStr(<文字列>, <数値>, <数値>) |
dataLength |
文字列のサイズを返します |
dataLength(<文字列>) |
日付
名前 |
説明 |
構文 |
AddDays |
日付に日数を追加します |
AddDays(<日付>, <数値>) |
AddHours |
日付に時間数を追加します |
AddHours(<日付>, <数値>) |
AddMinutes |
日付に分数を追加します |
AddMinutes(<日付>, <数値>) |
AddMonths |
日付に月数を追加します |
AddMonths(<日付>, <数値>) |
AddSeconds |
日付に秒数を追加します |
AddSeconds(<日付>, <数値>) |
AddYears |
日付に年数を追加します |
AddYears(<日付>, <数値>) |
DateOnly |
日付のみを返します(時刻は 0:00)* |
DateOnly(<日付>) |
Day |
日付の日を表す数を返します |
Day(<日付>) |
DayOfYear |
日付の年の日数を返します |
DayOfYear(<日付>) |
DaysAgo |
現在の日付 - n 日に対応する日付を返します |
DaysAgo(<数値>) |
DaysAgoInt |
現在の日付 - n 日に対応する日付(整数 yyyymmdd)を返します |
DaysAgoInt(<数値>) |
DaysDiff |
2 つの日付の間の日数を返します |
DaysDiff(<終了日>, <開始日>) |
DaysOld |
年齢(日数)を返します |
DaysOld(<日付>) |
GetDate |
サーバーの現在のシステム日付を返します |
GetDate() |
Hour |
日付の時間を返します |
Hour(<日付>) |
HoursDiff |
2 つの日付の間の時間数を返します |
HoursDiff(<終了日>, <開始日>) |
Minute |
日付の分を返します |
Minute(<日付>) |
MinutesDiff |
2 つの日付の間の分数を返します |
MinutesDiff(<終了日>, <開始日>) |
Month |
日付の月を表す数を返します |
Month(<日付>) |
MonthsAgo |
現在の日付 - n ヶ月に対応する日付を返します |
MonthsAgo(<数値>) |
MonthsDiff |
2 つの日付の間の月数を返します |
MonthsDiff(<終了日>, <開始日>) |
MonthsOld |
年齢(月数)を返します |
MonthsOld(<日付>) |
Second |
日付の秒を返します |
Second(<日付>) |
SecondsDiff |
2 つの日付の間の秒数を返します |
SecondsDiff(<終了日>, <開始日>) |
SubDays |
日付から日数を引きます |
SubDays(<日付>, <数値>) |
SubHours |
日付から時間数を引きます |
SubHours(<日付>, <数値>) |
SubMinutes |
日付から分数を引きます |
SubMinutes(<日付>, <数値>) |
SubMonths |
日付から月数を引きます |
SubMonths(<日付>, <数値>) |
SubSeconds |
日付から秒数を引きます |
SubSeconds(<日付>, <数値>) |
SubYears |
日付から年数を引きます |
SubYears(<日付>, <数値>) |
ToDate |
日付 + 時間を日付に変換します |
ToDate(<日付 + 時刻>) |
ToDateTime |
文字列を日付 + 時刻に変換します |
ToDateTime(<文字列>) |
TruncDate |
日付 + 時刻を最も近い秒に丸めます |
TruncDate(@lastModified, <秒数>) |
TruncDateTZ |
日付と時刻を指定された精度(秒)に丸めます |
TruncDateTZ(<日付>, <秒数>, <タイムゾーン>) |
TruncQuarter |
日付を四半期に丸めます |
TruncQuarter(<日付>) |
TruncTime |
時刻部分を最も近い秒に丸めます |
TruncTime(<日付>, <秒数>) |
TruncWeek |
日付を週に丸めます |
TruncWeek(<日付>) |
TruncYear |
日付 + 時刻をその年の 1 月 1 日に丸めます |
TruncYear(<日付>) |
TruncWeek |
日付の週の日を表す数を返します |
WeekDay(<日付>) |
Year |
日付の年を表す数を返します |
Year(<日付>) |
YearAnd Month |
日付の年と月を表す数を返します |
YearAndMonth(<日付>) |
YearsDiff |
2 つの日付の間の年数を返します |
YearsDiff(<終了日>, <開始日>) |
YearsOld |
満年齢を返します |
YearsOld(<日付>) |
Dateonly 関数はオペレーターのタイムゾーンではなく、サーバーのタイムゾーンを考慮することに注意してください。
数値
名前 |
説明 |
構文 |
Abs |
数値の絶対値を返します |
Abs(<数値>) |
Ceil |
ある特定の数値以上の最小の整数を返します |
Ceil(<数値>) |
Floor |
ある特定の数値以上の最大の整数を返します |
Floor(<数値>) |
Greatest |
2 つの数のうち大きい方を返します |
Greatest(<数値 1>, <数値 2>) |
Least |
2 つの数のうち小さい方を返します |
Least(<数値 1>, <数値 2>) |
Mod |
整数の割り算 n1 ÷ n2 の余りを返します |
Mod(<数値 1>, <数値 2>) |
Percent |
割合で表される 2 つの数の比率を返します |
Percent(<数値 1>, <数値 2>) |
Random |
ランダムな値を返します |
Random() |
Round |
数値を n 桁に丸めます |
Round(<数値>, <小数点以下の桁数>) |
Sign |
数値の符号を返します |
Sign(<数値>) |
ToDouble |
整数を浮動小数に変換します |
ToDouble(<数値>) |
ToInt64 |
浮動小数を 64 ビットの整数に変換します |
ToInt64(<数値>) |
ToInteger |
浮動小数を整数に変換します |
ToInteger(<数値>) |
Trunc |
n1 を n2 の桁数に切り捨てます |
Trunc(<n1>, <n2>) |
名前 |
説明 |
構文 |
ConvertCurrency |
変換元通貨の金額を変換先通貨の金額に換算します |
ConvertCurrency(<金額>, <変換元通貨>, <変換先通貨>, <変換日>) |
FormatCurrency |
表示される金額を選択した通貨設定に基づいて書式設定します |
FormatCurrency(<金額>, <通貨>) |
Geomarketing
名前 |
説明 |
構文 |
Distance |
経度と緯度で定義された 2 つのポイントの距離を返します。 |
Distance(<経度 A>, <緯度 A>, <経度 B>, <緯度 B>) |
その他
名前 |
説明 |
構文 |
Case |
条件が true の場合は値 1 を返します。そうでない場合は値 2 を返します |
(When(<条件>, <値 1>), Else(<値 2>)) |
ClearBit |
値のフラグを削除します |
ClearBit(<識別子>, <フラグ>) |
Coalesce |
値 1 がゼロまたは null の場合は値 2 を返し、それ以外の場合は値 1 を返します |
Coalesce(<値 1>, <値 2>) |
Decode |
値 1 = 値 2 の場合は値 3 を返します。そうでない場合は値 4 を返します |
Decode(<値 1>, <値 2>, <値 3>, <値 4>) |
Else |
値 1 を返します(case 関数のパラメーターとしてのみ使用できます) |
Else(<値 1>, <値 2>) |
GetEmailDomain |
E メールアドレスからドメインを抽出します |
GetEmailDomain(<値>) |
GetMirrorURL |
ミラーページサーバーの URL を取得します |
GetMirrorURL(<値>) |
Iif |
式が true の場合は値 1 を返します。そうでない場合は値 2 を返します |
Iif(<条件>, <値 1>, <値 2>) |
IsBitSet |
値にフラグが含まれているかどうかを示します |
IsBitSet(<識別子>, <フラグ>) |
IsEmptyString |
文字列 1 が空の場合は値 2 を返し、それ以外の場合は値 3 を返します |
IsEmptyString(<値 1>, <値 2>, <値 3>) |
NoNull |
引数が NULL の場合は、空の文字列を返します |
NoNull(<値>) |
RowId |
ライン番号を返します |
RowId |
SetBit |
値に強制的にフラグを指定します |
SetBit(<識別子>, <フラグ>) |
ToBoolean |
数値をブール値に変換します |
ToBoolean(<数値>) |
When |
式が true の場合は値 1 を返します。そうでない場合は値 2 を返します(case 関数のパラメーターとしてのみ使用できます) |
When(<条件>, <値 1>) |
ウィンドウイング関数
名前 |
説明 |
構文 |
Desc |
降順ソートを適用します |
Desc(<値 1>) |
OrderBy |
パーティション内の結果を並べ替えます |
OrderBy(<値 1>) |
PartitionBy |
テーブルのクエリの結果を区分します |
PartitionBy(<値 1>) |
RowNum |
テーブルのパーティションと並べ替えシーケンスに基づいてライン番号を生成します |
RowNum(PartitionBy(<値 1>), OrderBy(<値 1>)) |