[也適用於v8]{class="badge positive" title="亦適用於Campaign v8"}

定義篩選條件 defining-filter-conditions

選擇運運算元 choosing-the-operator

在篩選條件下,您需要使用運運算元將兩個值連結在一起。

以下是可用的運運算元清單:

運算元
用途
範例
Equal to
傳回與第二個「值」欄中所輸入資料相同的結果。
姓氏(@lastName)等於'Jones',只會傳回姓氏為Jones的收件者。
Greater than
傳回大於輸入值的值。
年齡(@age)大於50,會傳回所有大於'50'的值,即'51'、'52'等
Less than
傳回小於輸入值的值。
在「DaysAgo(100)」之前的建立日期(@created),會傳回在100天前建立的所有收件者。
Greater than or equal to
傳回等於或大於輸入值的所有值。
年齡(@age)大於或等於「30」,會傳回年齡在30歲或以上的所有收件者。
Less than or equal to
傳回等於或小於輸入值的所有值。
年齡(@age)小於或等於「60」,會傳回年齡在60歲或以下的所有收件者。
不等於
傳回所有與輸入值不相同的值。
等於'English'的語言(@language).
開頭為
傳回以輸入值開頭的結果。
帳戶# (@account)以「32010」開頭。
開頭不是
傳回不是以輸入值開頭的結果
帳戶# (@account)的開頭不是「20」.
Contains
傳回至少包含輸入值的結果。
電子郵件網域(@domain)包含「郵件」,將會傳回所有包含'mail'的網域名稱。 所以也會傳回'gmail.com'網域。
不包含
傳回不包含輸入值的結果。
電子郵件網域(@domain)不包含「vo」. 在此情況下,將不會傳回包含'vo'的網域名稱。 'voila.fr'網域名稱不會出現在結果中。
Like
Like 與 Contains 運算子非常類似。它可讓您插入 % 值中的萬用字元。
姓氏(@lastName),如'Jon%s'. 在此處,萬一運運算元忘了'n'與's'之間的遺漏字母,萬一使用萬用字元作為"joker"來尋找名稱"Jones"。
Not like
類似 按讚 . 讓您不復原輸入的值。 在這裡,輸入的值也必須包含 % 萬用字元。
姓氏(@lastName)不像'Smi%h'. 在此,將不會傳回姓氏為'Smi%h'的收件者。
Is empty
在此案例中,我們要尋找的結果符合第二個「值」欄中的空白值。
行動(@mobilePhone)是空的 傳回沒有行動電話號碼的所有收件者。
不是空的
與的作用相反 是空的 運運算元。 不需要在第二個「值」欄中輸入資料。
電子郵件(@email)不是空的.
包含在
傳回指定值中包含的結果。 這些值必須以逗號分隔。
出生日期(@birthDate)包含在'12/10/1979,12/10/1984'中,會傳回這些日期之間出生的收件者。
中未包含
運作方式如下 包含在 運運算元。 在此,我們要根據輸入的值排除收件者。
出生日期(@birthDate)不包含在'12/10/1979,12/10/1984'中. 和上一個範例不同,系統不會傳回這些日期內出生的收件者。

使用AND、OR,但 using-and--or--except

對於使用多個篩選條件的查詢,您需要定義條件之間的連結。 有三個可能的連結:

  • And 可讓您合併兩個篩選條件,
  • Or 可讓您提供替代方案,
  • Except 可讓您定義例外。

按一下 And (預設會提供)並從下拉式清單中選擇。

  • And:新增條件並啟用過度篩選。

  • Or:新增條件並啟用過度篩選。

    下列範例可讓您尋找電子郵件網域包含「orange.co.uk」或其後置程式碼開頭為「NW」的收件者。

  • Except:如果您有兩個篩選器,且第一個篩選器未傳回值,則此型別的連結會建立例外狀況。

    在以下範例中,我們希望傳回其電子郵件網域包含「orange.co.uk」的收件者,但如果收件者的姓氏為「Smith」則除外。

此範例顯示一個篩選器,可讓您顯示:會說西班牙文的收件者,或者是擁有行動號碼的女性,或者是沒有帳號且其公司名稱以字母「N」開頭的收件者。

排定條件優先順序 prioritizing-conditions

本節說明如何使用工具列中的藍色箭頭來排列條件的優先順序。

  • 指向右側的箭頭可讓您在篩選器中加入一層括弧。

  • 指向左側的箭頭可讓您從篩選器中刪除選取的括弧層級。

  • 垂直箭頭可讓您移動條件,進而變更其執行順序。

此範例說明如何使用箭頭來刪除括弧層級。 從下列篩選條件開始: City equal to London OR gender equal to male and mobile not indicated OR account # starts with “95” and company name starts with “A”.

將游標放在 Gender (@gender) equal to Male 篩選條件並按一下 Remove a parenthesis level 箭頭。

Gender (@gender) equal to Male 條件已移出其括弧。 其等級已移至「倫敦等同城市」條件。 這些條件已連結在一起(And)。

選取要擷取的資料 selecting-data-to-extract

可用的欄位因表格而異。 所有欄位都儲存在稱為 Main element. 在下列範例中,可用的欄位位於收件者表格中。 欄位一律依字母順序顯示。

所選欄位的詳細資訊會顯示在視窗底部。 例如, Email domain 欄位是 Calculated SQL field 其擴充功能為 (@domain).

NOTE
使用 Search 用於尋找可用欄位的工具。

連按兩下可用欄位,將其新增至輸出欄。 在查詢結束時,每個選取的欄位都會在 Data preview 視窗。

預設不會顯示進階欄位。 按一下 Display advanced fields 在可用欄位的右下角顯示所有內容。 再按一下可返回前一個檢視。

例如,在收件者表格中,進階欄位為 布林值1Boolean 2Boolean 3Foreign key of “Folder” link ​等

下列範例顯示收件者表格的進階欄位。

各種欄位類別:

圖示
說明
範例
簡單欄位
電子郵件、性別等。
主索引鍵。 此SQL欄位是識別表格中記錄的一種方式。
識別碼收件者是主要金鑰,而且依定義識別碼是唯一的。
外部索引鍵。 用作另一個表格的連結。
收件者外部金鑰、服務外部金鑰等。
計算欄位。 根據請求,會使用資料庫中的值計算此型別的欄位。
年齡、電子郵件網域等
包含長文字的欄位。
評論、完整地址等。
已編制索引的SQL欄位。
完整名稱、ISO程式碼等。

表格與收集要素的連結:

圖示
說明
範例
尤其是表格的連結。 這些與1-1型別關聯一致。 來源表格的某個專案只能與目標表格的某個專案一致。 例如,一個國家/地區只能連結一個收件者。
資料夾、州、國家/地區等。
特定表格的收集要素。 這些與1-N型別關聯一致。 一個來源表格出現次數可以與目標表格的多個出現次數一致,但目標表格出現次數可以只與目標表格出現次數一致。 例如,一位收件者可以訂閱'n'個訂閱字母。
訂閱、清單、排除記錄檔等。
NOTE
  • 使用 Add 按鈕(側邊圖示列上方),新增我們想要編輯運算式的輸出欄。 有關編輯運算式的詳細資訊,請參閱 本節.
  • 按一下紅色的「x」(刪除)。
  • 使用箭頭變更輸出欄的順序。
  • Distribution of values 可做為檢視所選欄位值分佈的方式(例如,連結至收件者城鎮、收件者語言等的分佈)。

建立計算欄位 creating-calculated-fields

如有必要,請在資料格式化期間新增欄。 計算欄位會將欄新增至資料預覽區段。 按一下​ Add a calculated field

有四種類型的計算欄位:

  • Fixed string:可讓您新增字元字串。

  • String with JavaScript tags:計算欄位的值會結合字元字串和JavaScript指令。

  • JavaScript expression:計算欄位的值是JavaScript函式評估的結果。 可輸入傳回的值(數字、日期等)。

  • Enumerations:此型別的欄位可讓您使用/修改新欄中其中一個輸出欄的內容。

    您可以使用欄的來源值,並為它指定目標值。 此目的地值將顯示在新的輸出欄中。

    新增計算欄位型別的範例 Enumerations 可使用,請參閱 本節.

    Enumerations 型別計算欄位可包含4個條件:

    • Keep the source value 將來源值還原到目標而不變更它。
    • Use the following value 可讓您為未定義的來源值輸入預設目的地值。
    • Generate a warning and continue 警告使用者無法變更來源值。
    • Generate an error and reject the line 防止計算及匯入明細行。

按一下 Detail of calculated field 以檢視插入欄位的詳細資訊。

若要移除此計算欄位,請按一下 Remove the calculated field 交叉。

建立運算式 building-expressions

運算式編輯工具可讓您使用運算式計算彙總、產生函式或編輯公式。

下列範例說明如何對主索引鍵執行計數。

應用以下步驟:

  1. 按一下 AddData to extract 視窗。 在 Formula type 視窗中,選取公式型別以輸入運算式。

    有數種公式可供使用: Field onlyAggregateExpression.

    選取 Process on an aggregate function、和 Count. 按一下​ Next

  2. 主索引鍵已計算。

以下是中可用選項的詳細檢視 Formula types 視窗:

  1. Field only 可讓您返回 Field to select 視窗。

  2. Aggregate (Process on an aggregate function). 以下是彙總使用的一些範例:

    • Count 可讓您執行主索引鍵計數。

    • Sum 可讓您加總客戶在一年以上的所有購買。

    • Maximum value 可讓您找出購買最多「n」個產品的客戶。

    • Minimum value 可讓您排序客戶,並尋找最近訂閱了優惠方案的客戶。

    • Average. 此函式可讓您計算收件者的平均年齡。

      Distinct 方塊可讓您復原欄的唯一和非零值。 例如,您可以復原所有收件者的追蹤記錄,而這些追蹤記錄會變更為值1,因為它們都與相同的收件者有關。

  3. Expression 開啟 Edit the expression 視窗。 這可讓您偵測包含太多數字的電話號碼,可能是輸入錯誤。

    如需所有可用函式的清單,請參閱 函式清單.

函式清單 list-of-functions

如果 Expression 選擇型別公式,您將被帶到「編輯運算式」視窗。 各種類別的函式可以與可用欄位相關聯: AggregatesStringDateNumericalCurrencyGeomarketingWindowing functionOthers.

運算式編輯器看起來像這樣:

它可讓您選取資料庫表格中的欄位,並將進階函式新增至這些欄位。 可使用下列函式:

彙總

名稱
說明
語法
平均
傳回數字型別欄的平均值
Avg(<value>)
計數
計算資料行的非空值
Count(<value>)
全部計數
計算傳回的值(所有欄位)
CountAll()
Countdistinct
計算資料行的不同非空值
Countdistinct(<value>)
最大
傳回數字、字串或日期型別欄的最大值
Max(<value>)
最小值
傳回數字、字串或日期型別欄的最小值
Min(<value>)
StdDev
傳回數字、字串或日期欄的標準差
StdDev(<value>)
Sum
傳回數字、字串或日期型別欄的值總和
Sum(<value>)

字串

名稱
說明
語法
AllNonNull2
指示所有參數是否為非空值且非空白
AllNonNull2(<string>, <string>)
AllNonNull3
指示所有參數是否為非空值且非空白
AllNonNull3(<string>, <string>, <string>)
Ascii
傳回字串中第一個字元的ASCII值。
Ascii(<string>)
Char
傳回與 'n' ASCII 代碼對應的字元
Char(<number>)
Charindex
傳回字串1中字串2的位置。
Charindex(<string>, <string>)
GetLine
傳回字串的第 n 行(從 1 到 n)
GetLine(<string>)
IfEquals
如果前兩個引數相等,則傳回第三個引數。 如果沒有,則傳回最後一個引數
IfEquals(<string>, <string>, <string>, <string>)
IsMemoNull
指示作為參數傳遞的備忘錄是否為空
IsMemoNull(<memo>)
JuxtWords
串連以引數形式傳遞的字串。 視需要在字串之間新增空格。
JuxtWords(<string>, <string>)
JuxtWords3
串連以引數形式傳遞的字串。 如有必要,在字串之間新增空格
JuxtWords3(<string>, <string>, <string>)
LPad
傳回左側的已完成字串
LPad(<string>, <number>, <character>)
Left
傳回字串的前 n 個字元
Left(<string>, <number>)
Length
傳回字串的長度
Length(<string>)
Lower
傳回小寫字串
Lower(<string>)
Ltrim
移除字串左側的空格
Ltrim(<string>)
Md5Digest
返回字串 MD5 鍵的十六進位表示
Md5Digest(<string>)
MemoContains
指定備忘錄是否包含作為參數傳遞的字串
MemoContains(<memo>, <string>)
RPad
傳回右側的已完成字串
RPad(<string>, <number>, <character>)
Right
傳回字串的最後 n 個字元
Right(<string>)
Rtrim
移除字串右側的空格
Rtrim(<string>)
Smart
傳回字串,每個字詞的首字母以大寫表示
Smart(<string>)
Substring
從字串的字元n1開始提取長度為n2的子字串
Substring(<string>, <offset>, <length>)
ToString
將數字轉換為字串
ToString(<number>, <number>)
Upper
以大寫傳回字串
Upper(<string>)
VirtualLink
傳回連結的外鍵,如果其他兩個參數相等,則傳遞為參數
VirtualLink(<number>、<number>、<number>)
VirtualLinkStr
傳回連結的外鍵(文字)索引鍵,如果其他兩個參數相等,則傳回該連結的外鍵 (text)
VirtualLinkStr(<string>, <number>, <number>)
dataLength
傳回字串大小
dataLength(<string>)

日期

名稱
說明
語法
AddDays
新增日期的天數
AddDays(<date>, <number>)
AddHours
將小時數新增至日期
AddHours(<date>, <number>)
AddMinutes
將分鐘數新增至日期
AddMinutes(<date>, <number>)
AddMonths
新增月份至日期
AddMonths(<date>, <number>)
AddSeconds
新增秒數至日期
AddSeconds(<date>, <number>)
AddYears
在日期中新增多年
AddYears(<date>, <number>)
DateOnly
僅傳回日期(時間為00:00)*
DateOnly(<date>)
Day
傳回代表日期的數字
Day(<date>)
DayOfYear
傳回日期當年的日數
DayOfYear(<date>)
DaysAgo
傳回與目前日期對應的日期減去n天
DaysAgo(<number>)
DaysAgoInt
傳回與目前日期對應的日期(整數yyyymmdd)減去n天
DaysAgoInt(<number>)
DaysDiff
兩個日期之間的天數
DaysDiff(<end date>, <start date>)
DaysOld
傳回日期的年齡(以天為單位)
DaysOld(<date>)
GetDate
返回伺服器的目前系統日期
GetDate()
Hour
傳回日期的小時數
Hour(<date>)
HoursDiff
傳回兩個日期之間的小時數
HoursDiff(<end date>, <start date>)
Minute
傳回日期的分鐘數
Minute(<date>)
MinutesDiff
傳回兩個日期之間的分鐘數
MinutesDiff(<end date>, <start date>)
Month
傳回代表日期月份的數字
Month(<date>)
MonthsAgo
傳回與目前日期對應的日期減去n個月
MonthsAgo(<number>)
MonthsDiff
傳回兩個日期之間的月數
MonthsDiff(<end date>, <start date>)
MonthsOld
傳回日期的月份
MonthsOld(<date>)
Second
傳回日期的秒數
Second(<date>)
SecondsDiff
傳回兩個日期之間的秒數
SecondsDiff(<end date>, <start date>)
SubDays
從日期減去天數
SubDays(<date>, <number>)
SubHours
從日期減去數小時
SubHours(<date>, <number>)
SubMinutes
從日期減去分鐘數
SubMinutes(<date>, <number>)
SubMonths
從日期減去幾個月
SubMonths(<date>, <number>)
SubSeconds
從日期減去秒數
SubSeconds(<date>, <number>)
SubYears
從日期減去數年
SubYears(<date>, <number>)
ToDate
將日期 + 時間轉換為日期
ToDate(<date + time>)
ToDateTime
將字串轉換為日期+時間
ToDateTime(<string>)
TruncDate
將日期+時間四捨五入至最接近的秒數
TruncDate(@lastModified, <number of seconds>)
TruncDateTZ
將日期+時間四捨五入為以秒為單位的指定精確度
TruncDateTZ(<date>, <number of seconds>, <time zone>)
TruncQuarter
將日期捨入為季度
TruncQuarter(<date>)
TruncTime
將時間部分捨入到最接近的秒數
TruncTim(e)<date>, <number of="" seconds="">)
TruncWeek
將日期捨入為一週
TruncWeek(<date>)
TruncYear
將日期+時間捨入至年度的 1 月 1 日
TruncYear(<date>)
TruncWeek
傳回代表日期當週中某天的數字
WeekDay(<date>)
傳回代表日期年份的數字
Year(<date>)
YearAnd Month
傳回代表日期的年份和月份的數字
YearAndMonth(<date>)
YearsDiff
傳回兩個日期之間的年數
YearsDiff(<end date>, <start date>)
YearsOld
傳回日期的年齡
YearsOld(<date>)
NOTE
請注意 Dateonly 函式會考量伺服器的時區,而非運運算元的時區。

數值

名稱
說明
語法
Abs
返回數字的絕對值
Abs(<number>)
Ceil
傳回大於或等於數字的最小整數
Ceil(<number>)
Floor
傳回大於或等於數字的最大整數
Floor(<number>)
Greatest
傳回兩個數字中的較大值
Greatest(<number 1>, <number 2>)
Least
傳回兩個數字中的較小者
Least(<number 1>, <number 2>)
Mod
傳回n1除以n2的整數除餘數
Mod(<number 1>, <number 2>)
Percent
傳回兩個數字的比率,以百分比表示
Percent(<number 1>, <number 2>)
Random
傳回隨機值
Random()
Round
將數字四捨五入為n個小數
Round(<number>, <number of decimals>)
Sign
傳回數字元號
Sign(<number>)
ToDouble
將整數轉換為浮點數
ToDouble(<number>)
ToInt64
將浮點數轉換為 64 位整數
ToInt64(<number>)
ToInteger
將浮點數轉換為整數
ToInteger(<number>)
Trunc
截斷 n1 到 n2 小數
Trunc(<n1>, <n2>)
  1. 貨幣
名稱
說明
語法
ConvertCurrency
將來源貨幣的金額轉換為目標貨幣的金額
ConvertCurrency(<amount>, <source currency="">, <target currency="">, <conversion date="">)
格式貨幣
根據選取的貨幣設定來格式化顯示的金額
FormatCurrency(<amount>, <currency>)

地理行銷

名稱
說明
語法
距離
傳回由經度和緯度定義的兩點之間的距離,以度表示。
距離(<Longitude A>, <Latitude A>, <Longitude B>, <Latitude B>)

其他

名稱
說明
語法
案例
若條件為true,則傳回值1。 如果沒有,則會傳回值2。
Case(When(<condition>, <value 1>), Else(<value 2>))
ClearBit
刪除值中的旗標
ClearBit(<identifier>, <flag>)
合併
如果值 1 為 零或 null,則傳回值 2,否則傳回值 1
Coalesce(<value 1>, <value 2>)
Decode
如果值1 =值2,則傳回值3。 如果不傳回值4。
Decode(<value 1>, <value 2>, <value 3>, <value 4>)
Else
傳回值 1(只能用作 case 函式的參數)
Else(<value>, <value>)
GetEmailDomain
從電子郵件地址中擷取網域
GetEmailDomain(<value>)
GetMirrorURL
檢索鏡像頁面伺服器的URL
GetMirrorURL(<value>)
Iif
如果運算式為true,則傳回值1。 如果沒有,則傳回值2
Iif(<condition>, <value 1>, <value 2>)
IsBitSet
指出旗標是否在值中
IsBitSet(<identifier>, <flag>)
IsEmptyString
如果字串1為空,則傳回值2,否則傳回值3
IsEmptyString(<value>, <value>, <value>)
NoNull
如果引數為 NULL,則返回空字串
NoNull(<value>)
RowId
返回行號
RowId
SetBit
強制值中的旗標
SetBit(<identifier>, <flag>)
ToBoolean
將數字轉換為布林值
ToBoolean(<number>)
When
如果運算式為true,則傳回值1。 如果沒有,則會傳回值2 (只能用作case函式的引數)
When(<condition>, <value 1>)

視窗函式

名稱
說明
語法
Desc
套用遞減排序
Desc(<value 1>)
OrderBy
對分區內的結果進行排序
OrderBy(<value 1>)
PartitionBy
對表上的查詢結果進行分區
PartitionBy(<value 1>)
RowNum
根據表格分割和排序順序產生行號。
RowNum(PartitionBy(<value 1>), OrderBy(<value 1>))
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1