Show Menu
主題×

定義篩選條件

選擇運算元

在篩選條件中,您需要使用運算子將兩個值連結在一起。
以下是可用運算子的清單:
運算元 目的 Example
等於 傳回與第二個「值」欄中輸入的資料相同的結果。 姓氏(@lastName)等於'Jones' ,將只傳回姓氏為Jones的收件者。
大於 傳回大於輸入值的值。 年齡(@age)大於50 ,將傳回所有大於'50'的值,即「51」、「52」等。
小於 傳回小於輸入值的值。 在'DaysAgo(100)'之前建立日期(@created) ,將會傳回所有在100天前建立的收件者。
大於或等於 傳回等於或大於輸入值的所有值。 年齡(@age)大於或等於'30' ,將傳回所有30歲以上的收件者。
小於或等於 傳回等於或低於輸入值的所有值。 年齡(@age)小於或等於'60' ,將傳回所有60歲或以下的收件者。
不等於 傳回與輸入值不相同的所有值。 語言(@language)等於'English'
開始於 傳回以輸入值開始的結果。 帳戶#(@account)以'32010'開頭。
不從開始 傳回結果,不以輸入的值開頭 帳戶#(@account)不以'20'開頭
包含 傳回至少包含輸入值的結果。 電子郵件網域(@domain)包含'mail' ,將傳回所有包含'mail'的網域名稱。 因此,'gmail.com'網域也會傳回。
不包含 傳回不含輸入值的結果。 電子郵件網域(@domain)不包含'vo' 。 在此情況下,不會傳回包含'vo'的網域名稱。 'voila.fr'網域名稱不會出現在結果中。
Like 與Contains運算子非 常類似 。 它可讓您在值中 插入 %萬用字元。 姓氏(@lastName),如「Jon%s」 。 在此,萬用字元會用作「小丑」來尋找"Jones",如果運算子忘記'n'和's'之間遺失的字母。
不贊 類似 Like 。 可讓您不復原輸入的值。 在這裡,輸入的值也必須包含 % (萬用字元)。 姓氏(@lastName)與'Smi%h'不同 。 在此,不會傳回姓氏為'Smi%h'的收件者。
空白 在此情況下,我們尋找的結果與第二個「值」欄中的空值相符。 Mobile(@mobilePhone)為空 ,會傳回所有沒有行動電話號碼的收件者。
不為空 與「空白」運算子 相反 。 不需要在第二個「值」列中輸入資料。 電子郵件(@email)不為空
包含於 傳回包含在指定值中的結果。 這些值必須以逗號分隔。 出生日期(@birthDate)包含在'12/10/1979,12/10/1984'中 ,將會傳回在這些日期之間出生的收件者。
不包含在 類似運算 元中的 I。 在此,我們要根據輸入的值排除收件者。 出生日期(@birthDate)不包含在'12/10/1979,12/10/1984'中 。 與上例不同,在這些日期內出生的收件者將不會傳回。

使用AND,或,除

對於使用多個篩選條件的查詢,您需要定義條件之間的連結。 有三個可能的連結:
  • And 可讓您結合兩個篩選條件,
  • Or 讓你提供另一種選擇,
  • Except 可讓您定義例外。
按一 And 下(依預設提供)並從下拉式清單中選擇。
  • And :新增條件並啟用過濾。
  • Or :新增條件並啟用過濾。
    下列範例可讓您尋找電子郵件網域包含「orange.co.uk」或其貼文程式碼以「NW」開頭的收件者。
  • Except :如果您有兩個篩選器,而第一個篩選器未傳回值,此類型的連結會建立例外。
    在下列範例中,我們要傳回其電子郵件網域包含「orange.co.uk」的收件者,除非收件者的姓氏是「Smith」。
此範例顯示可讓您顯示的篩選:會說西班牙文或OR的收件者是具有行動號碼的女性,或沒有帳號且公司名稱以字母"N"開頭的收件者。

排定條件優先順序

本節說明如何利用工具列中的藍色箭頭來排列條件的優先順序。
  • 向右箭頭可讓您在篩選器中新增一級括弧。
  • 指向左側的箭頭可讓您從篩選器中刪除選取的括弧層級。
  • 垂直箭頭可讓您移動條件,從而更改其執行順序。
此示例說明如何使用箭頭刪除括弧層。 從下列篩選條件開始: 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 )。

選擇要提取的資料

可用欄位因表格而異。 所有欄位都儲存在主節點中,稱為 Main element 。 在以下範例中,可用欄位位於收件者表格中。 欄位一律以字母順序顯示。
所選欄位的詳細資訊在窗口底部可見。 例如,欄位 Email domain 為a, Calculated SQL field 其延伸為 (@domain)
使用工 Search 具尋找可用欄位。
連按兩下可用欄位,將其新增至輸出欄。 在查詢結束時,每個選定欄位都會在窗口中建立一 Data preview 列。
預設不會顯示進階欄位。 按一 Display advanced fields 下可用欄位右下角的,即可顯示所有項目。 再按一下以返回前一個檢視。
例如,在收件者表格中,進階欄位是 Boolean 1 Boolean 2 Boolean 3 Foreign key of "Folder" link ​等。
以下示例顯示收件人表的高級欄位。
各種欄位類別:
表徵圖 說明 範例
簡單欄位 電子郵件、性別等
主鍵。 此SQL欄位是標識表中記錄的方法。 識別碼收件者是主要的金鑰,而識別碼依定義是唯一的。
外鍵。 用作其他表格的連結。 接收方外鍵、服務外鍵等。
計算欄位。 此類型的欄位是根據要求使用資料庫中的值來計算。 年齡、電子郵件網域等
包含長篇文本的欄位。 注釋、完整地址等。
索引的SQL欄位。 完整名稱、ISO程式碼等
連結至表格和系列元素:
表徵圖 說明 Example
特別是表的連結。 這些關聯與1-1類型關聯一致。 源表的具體值只能與目標表的一個具體值一致。 例如,只有一個收件者可以連結至國家。 資料夾、狀態、國家等
特定表格上的收集元素。 這些關聯與1-N類型關聯一致。 一個源表實例可以與目標表的幾個實例重合,但目標表的一個實例只能與源表的一個實例重合。 例如,一個收件者可以訂閱'n'訂閱信函。 訂閱、清單、排除記錄檔等。
  • 使用 Add 按鈕(位於側表徵圖欄上方)可新增要編輯運算式的輸出欄。 有關編輯表達式的詳細資訊,請參 閱Building expressions
  • 按一下紅色的'x'(刪除),以刪除​ 輸出欄
  • 使用箭頭更改輸出列的順序。
  • Distribution of values 功能可用來檢視所選欄位值的分佈(例如,連結至收件者城鎮、收件者語言等的分佈)。

建立計算欄位

如有必要,請在資料格式化期間新增欄。 計算欄位會新增欄至資料預覽區段。 按一下 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 交叉點。

建立運算式

運算式編輯工具可讓您計算匯整、產生函式,或使用運算式編輯公式。
以下示例說明如何對主鍵運行計數。
應用以下步驟:
  1. 在視 Add 窗中按一 Data to extract 下。 在窗口 Formula type 中,選擇要輸入表達式的公式類型。
    可用的公式有幾種類型: Field only , Aggregate , Expression
    選擇 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 口。 這可讓您偵測到數字過多的電話號碼,可能是輸入錯誤。
    有關所有可用函式的清單,請參 閱函式清單

函式清單

如果選 Expression 擇了類型公式,則將進入「編輯表達式」窗口。 各種函式類別可關聯至可用欄位: Aggregates , String , Date , Numerical , Currency Geomarketing ​和 Windowing function Others !
運算式編輯器的外觀如下:
它可讓您選擇資料庫表格中的欄位,並新增進階函式。 下列功能可供使用:
聚合
名稱 說明 語法
平均 返回數字類型列的平均值 Avg(<value>)
計數 計算列的非空值 Count(<value>)
全部計數 計算傳回的值(所有欄位) CountAll()
Countdistinct 計算列的不同非空值 Countdistinct(<value>)
最大值 傳回數字、字串或日期類型欄的最大值 Max(<value>)
最小 傳回數字、字串或日期類型欄的最小值 Min(<value>)
StdDev 傳回數字、字串或日期欄的標準差 StdDev(<value>)
總和 傳回數字、字串或日期類型欄的值總和 Sum(<value>)
字串
名稱 說明 語法
AllNonNull2 指示所有參數是否為非空值且非空 AllNonNull2(<string>, <string>)
AllNonNull3 指示所有參數是否為非空值且非空 AllNonNull3(<string>, <string>, <string>)
Ascii 傳回字串中第一個字元的ASCII值。 Ascii(<string>)
Char 傳回與'n' ASCII代碼對應的字元 字元(<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>)
左側 傳回字串的前n個字元 Left(<string>, <number>)
長度 傳回字串的長度 Length(<string>)
下方 傳回小寫字串 Lower(<string>)
Ltrim 移除字串左側的空格 Ltrim(<string>)
Md5Digest 返回字串MD5鍵的十六進位表示 Md5Digest(<string>)
備忘內容 指定備忘錄是否包含作為參數傳遞的字串 MemoContains(<memo>, <string>)
RPad 傳回右側的已完成字串 RPad(<string>, <number>, <character>)
傳回字串的最後n個字元 Right(<string>)
Rtrim 移除字串右側的空格 Rtrim(<string>)
智慧型 傳回字串,每個字詞的首字母以大寫表示 Smart(<string>)
子字串 提取以字串的字元n1和長度n2開頭的子字串 子字串(<string>, <offset>, <length>)
ToString 將數字轉換為字串 ToString(<number>, <number>)
上方 以大寫傳回字串 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>)
僅限日期 僅傳回日期(時間為00:00)* DateOnly(<date>)
傳回代表日期的數字 Day(<date>)
DayOfYear 傳回日期中某年的日數 DayOfYear(<date>)
DaysAgo 傳回與目前日期對應的日期減去n天 DaysAgo(<number>)
DaysAgoInt 傳回與目前日期相對應的日期(整數yyymmdd)減去n天 DaysAgoInt(<number>)
DaysDiff 兩個日期之間的天數 DaysDiff(<end date>, <start date>)
DaysOld 傳回日期的年齡(以天為單位) DaysOld(<date>)
GetDate 返回伺服器的當前系統日期 GetDate()
小時 傳回日期的小時數 小時(<日期>)
時數比較 傳回兩個日期之間的小時數 HoursDiff(<end date>, <start date>)
分鐘 傳回日期的分鐘數 Minute(<date>)
MinutesDiff 傳回兩個日期之間的分鐘數 MinutesDiff(<end date>, <start date>)
傳回代表日期月份的數字 月(<日期>)
MonthsAgo 傳回與目前日期對應的日期減去n個月 MonthsAgo(<number>)
MonthsDiff 傳回兩個日期之間的月數 MonthsDiff(<end date>, <start date>)
月舊 傳回日期的月份 MonthsOld(<date>)
第二 傳回日期的秒數 Second(<date>)
SecondsDiff 傳回兩個日期之間的秒數 SecondsDiff(<end date>, <start date>)
SubDays 從日期減去天數 SubDays(<date>, <number>)
SubHours 從日期減去數小時 SubHours(<date>, <number>)
SubMinutes 從日期減去分鐘數 SubMinutes(<date>, <number>)
子月份 從日期減去幾個月 SubMonths(<date>, <number>)
子秒數 從日期減去秒數 SubSeconds(<date>, <number>)
子年 從日期減去數年 SubYears(<date>, <number>)
截止日期 將日期+時間轉換為日期 ToDate(<date + time>)
ToDateTime 將字串轉換為日期+時間 ToDateTime(<string>)
TruncDate 將日期+時間四捨五入至最接近的秒數 TruncDate(@lastModified, <秒數>)
TruncDateTZ 將日期+時間四捨五入為以秒為單位的指定精確度 TruncDateTZ(<date>, <秒數>, <時區>)
TruncQuarter 將日期捨入為季度 TruncQuarter(<date>)
TruncTime 將時間部分捨入到最接近的秒數 TruncTim(e<date>, <秒數>)
TruncWeek 將日期捨入為一週 TruncWeek(<date>)
TruncYear 將日期+時間捨入至年度的1月1日 TruncYear(<date>)
TruncWeek 傳回代表日期當周中某天的數字 WeekDay(<date>)
傳回代表日期年份的數字 Year(<date>)
年與月 傳回代表日期的年份和月份的數字 YearAndMonth(<date>)
YearsDiff 傳回兩個日期之間的年數 YearsDiff(<end date>, <start date>)
YearsOld 傳回日期的年齡 YearsOld(<date>)
請注意, Dateonly 函式會考慮伺服器的時區,而非運算子的時區。
數值
名稱 說明 語法
Abs 返回數字的絕對值 Abs(<number>)
Ceil 傳回大於或等於數字的最小整數 Ceil(<number>)
地板 傳回大於或等於數字的最大整數 Floor(<number>)
最棒的 傳回兩個數字中的較大值 最大(<數字1>, <數字2>)
最少 傳回兩個數字中的較小者 最少(<數字1>, <數字2>)
修改 傳回n1除以n2的整數除的余數 Mod(<number 1>, <number 2>)
百分比 傳回兩個數字的比率,以百分比表示 百分比(<數字1>, <數字2>)
隨機 傳回隨機值 Random()
四捨五入 將數字四捨五入為n個小數 捨入(<number>, <小數位數>)
簽署 傳回數字元號 Sign(<number>)
ToDouble 將整數轉換為浮點數 ToDouble(<number>)
ToInt64 將浮點數轉換為64位整數 ToInt64(<number>)
至整數 將浮點數轉換為整數 ToInteger(<number>)
Trunc 截斷n1到n2小數 Trunc(<n1>, <n2>)
  1. 貨幣
名稱 說明 語法
ConvertCurrency 將來源貨幣中的金額折換為目標貨幣中的金額 ConvertCurrency(<amount>, <source currency>, <target currency>, <conversion date>)
FormatCurrency 根據所選貨幣設定來設定顯示金額的格式 FormatCurrency(<amount>, <currency>)
地理行銷
名稱 說明 語法
距離 傳回兩個點之間的距離(以度表示),這兩個點由其經度和緯度定義。 距離(<經度A>、<經度A>、<經度B>、<經度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>)
解碼 如果值1 =值2,則返回值3。 如果不返回值4。 Decode(<value 1>, <value 2>, <value 3>, <value 4>)
Else 傳回值1(只能用作case函式的參數) Else(<value 1>, <value 2>)
GetEmailDomain 從電子郵件地址提取域 GetEmailDomain(<value>)
GetMirrorURL 檢索鏡像頁伺服器的URL GetMirrorURL(<value>)
If 如果運算式為true,則傳回值1。 否則返回值2 Iif(<condition>, <value 1>, <value 2>)
IsBitSet 指出標幟是否在值中 IsBitSet(<identifier>, <flag>)
IsEmptyString 如果字串1為空,則返回值2,否則返回值3 IsEmptyString(<value 1>, <value 2>, <value 3>)
無空 如果引數為NULL,則返回空字串 NoNull(<value>)
RowId 返回行號 RowId
SetBit 強制值中的標幟 SetBit(<identifier>, <flag>)
ToBoolean 將數字轉換為布爾值 ToBoolean(<number>)
何時 如果運算式為true,則傳回值1。 如果不是,它會傳回值2(只能用作case函式的參數) When(<condition>, <value 1>)
窗口函式
名稱 說明 語法
Desc 套用遞減排序 Desc(<value 1>)
訂購者 對分區內的結果進行排序 OrderBy(<value 1>)
PartitionBy 對表上的查詢結果進行分區 PartitionBy(<value 1>)
行號 根據表分區和排序順序生成行號。 RowNum(PartitionBy(<value 1>), OrderBy(<value 1>))