Show Menu
トピック×

フィルター条件の定義

演算子の選択

フィルター条件内で、演算子を使用して 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 つのリンクが使用可能です。
  • および 」では、2 つのフィルター条件を組み合わせることができます。
  • または 」では、別の選択肢を指定できます。
  • 例外 」では、例外を定義できます。
デフォルトで表示されている「 および 」をクリックし、ドロップダウンリストから選択します。
  • および :条件を追加し、オーバーフィルターが可能です。
  • または :条件を追加し、オーバーフィルターが可能です。
    次の例では、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」個の購読レターを購読することができます。 購読、リスト、除外ログなど。
  • 式を編集する出力列を追加するには、 追加 ​ボタン(サイドアイコンバーの上部)を使用します。式の編集について詳しくは、 式の作成 を参照してください。
  • 出力列を削除するには、赤い「x」( 削除 )をクリックします。
  • 出力列の順序を変更するには、矢印を使用します。
  • 値の配分 ​は、選択したフィールドの値の配分を表示する方法として機能します(例えば、受信者の市区町村、受信者の言語などにリンクした配信)。

計算フィールドの作成

必要に応じて、データフォーマット中に列を追加します。計算フィールドによって、データのプレビューセクションに列が追加されます。 計算フィールドを追加 ​をクリックします。
次の 4 つのタイプの計算フィールドがあります。
  • 固定文字列 :一連の文字列を追加できます。
  • JavaScript タグを含む文字列 :一連の文字列と JavaScript ディレクティブを組み合わせた計算フィールドの値。
  • JavaScript 式 :計算フィールドの値は JavaScript 関数評価の結果です。返される値はタイプ指定できます(数値、日付など)。
  • 列挙 :このタイプのフィールドでは、いずれかの出力列の内容を新しい列で使用または変更できます。
    列のソース値を使用し、宛先値を割り当てることができます。この宛先値は新しい出力列に表示されます。
    列挙 」タイプ計算フィールドを追加する例は、 この節 で確認できます。
    列挙 」タイプ計算フィールドには、次の 4 つの条件を含めることができます。
    • ソースの値を保持 」では、ソース値が変更されずにターゲットに復元されます。
    • 次の値を使用 」では、定義されていないソース値に対してデフォルトの宛先値を入力できます。
    • 警告を生成して続行 」では、ソース値を変更できないことがユーザーに警告されます。
    • エラーを生成してラインを却下 」では、ラインの計算およびインポートが回避されます。
挿入したフィールドの詳細を表示するには、 計算済みフィールドの詳細 ​をクリックします。
この計算フィールドを削除するには、 計算フィールドを削除 ​のバツ印をクリックします。

式の作成

式編集ツールを使用すると、集計の計算、関数の生成または式を使用した数式の編集をおこなうことができます。
次の例は、プライマリキーに対してカウントを実行する方法を示しています。
次の手順に従います。
  1. 抽出するデータ ​ウィンドウで「 追加 」をクリックします。 数式のタイプ ​ウィンドウで、式を入力する数式のタイプを選択します。
    フィールドのみ 」、「 集計 」、「 」など、様々なタイプの数式を使用できます。
    集計関数のプロセス 」および「 カウント 」を選択します。「 次へ 」をクリックします。
  2. プライマリキーが計算されます。
次に、 数式のタイプ ​ウィンドウで使用可能な選択肢の詳細な表示を示します。
  1. 「フィールドのみ****」では、選択するフィールドウィンドウに戻ることができます。
  2. 集計 」(「集計関数のプロセス」)。使用する集計の例は次のとおりです。
    • カウント 」では、プライマリキーカウントを実行できます。
    • 合計 」では、顧客による 1 年間のすべての購入を合計できます。
    • 最大値 」では、「n」製品を最も多く購入した顧客を検索できます。
    • 最小値 」では、顧客を並べ替え、最近オファーを購読した顧客を検索できます。
    • 平均 」。この関数では、受信者の平均年齢を計算できます。
      ユニーク 」ボックスでは、列の一意のゼロ以外の値を収集できます。例えば、受信者のすべてのトラッキングログを収集し、すべて同じ受信者に関連するトラッキングログを値 1 に変更できます。
  3. 」では、 式を編集 ​ウィンドウを開きます。これにより、数字が非常に多く、入力エラーを起こしやすい電話番号を検出できます。
    使用可能なすべての関数のリストについては、 関数のリスト を参照してください。

関数のリスト

」タイプの数式を選択すると、式を編集ウィンドウが表示されます。「 集計 」、「 文字列 」、「 日付 」、「 数値 」、「 通貨 」、「 ジオマーケティング 」、「 ウィンドウイング関数 」、「 その他 」など、様々なカテゴリの関数を使用可能フィールドに関連付けることができます。
式エディターは次のように表示されます。
式エディターではデータベーステーブルのフィールドを選択し、高度な関数を追加できます。次の関数を使用できます。
集計
名前 説明 構文
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>)
  1. 通貨
名前 説明 構文
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>))