編輯運算式 expression

編輯運算式需要手動輸入條件以形成規則。 此模式可讓您使用進階函式,這些函式可讓您控制用於執行特定查詢的值,例如控制日期、字串、數值欄位、排序等。

IMPORTANT
下節提供如何使用運算式編輯器建立規則的資訊。 請記住,用來建置規則的語法與用來新增個人化的語法不同。

使用運算式編輯器 edit

查詢模組化工具提供運算式編輯器 編輯運算式 按鈕,適用於 屬性 設定自訂條件時的欄位。

從存取 屬性 欄位
從存取 欄位
{modal="regular"}
{modal="regular"}

運算式編輯器提供:

  • 一個 輸入欄位(1) 在其中定義運算式。
  • 可用清單 欄位(2) 可用於運算式中,且與查詢的目標維度對應的維度。
  • 輔助函式(3),依類別排序。

直接在輸入欄位中輸入運算式以編輯運算式。 若要新增欄位或協助程式函式,請將游標置於要新增的運算式中,然後按一下+按鈕。

{modal="regular"}

當運算式準備就緒時,按一下 確認 按鈕。 運算式會顯示在選取的欄位中。 若要編輯,請開啟運算式編輯器並進行所需的變更。

以下範例顯示針對下列專案設定的運算式: 欄位。 若要編輯它,您需要使用開啟運算式編輯器 編輯運算式 按鈕。

{modal="regular"}

協助程式功能

查詢編輯工具可讓您使用進階功能,根據所需結果和操作資料的型別執行複雜的篩選。 可使用下列函式:

彙總

彙總函式用於對一組值執行計算。

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

日期

日期函式可用來控制日期或時間值。

名稱
說明
語法
AddDays
新增日期的天數
AddDays(<date>, <number>)
AddHours
將小時數新增至日期
AddHours(<date>, <number>)
AddMinutes
將分鐘數新增至日期
AddMinutes(<date>, <number>)
AddMonths
新增月份至日期
AddMonths(<date>, <number>)
AddSeconds
新增秒數至日期
AddSeconds(<date>, <number>)
AddYears
在日期中新增多年
AddYears(<date>, <number>)
ConvertNTZ
套用定義的工作階段TZ,將時間戳記NTZ (沒有時區的時間戳記)轉換為TZ (有時區的時間戳記)
ConvertNTZ (<date time="">)
DateCmp
比較兩個日期
DateCmp(<date>,<date>)
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>)
Oldest
傳回範圍中最早的日期
最舊(<date 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>)
ToTimestamp
將字串轉換為時間戳記
ToTimestamp(<string>)
ToTimeZone
將日期+時間轉換為時區
ToTimeZone(<date>,<time zone="">)
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>)
WeekDay
傳回代表日期當週中某天的數字(0=星期一,6=星期日)
WeekDay(<date>)
傳回代表日期年份的數字
Year(<date>)
YearAnd Month
傳回代表日期的年份和月份的數字
YearAndMonth(<date>)
YearAgo
傳回指定日期與目前日期之間的年數
YearsAgo(<date>)
YearsDiff
傳回兩個日期之間的年數
YearsDiff(<end date>, <start date>)
YearsOld
傳回日期的年齡
YearsOld(<date>)
NOTE
請注意 Dateonly 函式會考量伺服器的時區,而非運運算元的時區。

地理行銷

地理行銷函式用於操縱地理值。

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

數值

數值函式用於將文字轉換為數字。

名稱
說明
語法
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>)

其他

此表格包含剩餘的可用函式。

名稱
說明
語法
AESEncrypt
加密引數中提供的字串
AESEncrypt(<value>)
案例
若條件為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>)
NewUUID
傳回唯一識別碼
NewUUID()
NoNull
如果引數為 NULL,則返回空字串
NoNull(<value>)
RowId
返回行號
RowId
SetBit
強制值中的旗標
SetBit(<identifier>, <flag>)
ToBoolean
將數字轉換為布林值
ToBoolean(<number>)
When
如果運算式為true,則傳回值1。 如果沒有,則會傳回值2 (只能用作case函式的引數)
When(<condition>, <value 1>)

字串

字串函式可用來控制一組字串。

名稱
說明
語法
AllNonNull2
指示所有參數是否為非空值且非空白
AllNonNull2(<string>, <string>)
AllNonNull3
指示所有參數是否為非空值且非空白
AllNonNull3(<string>, <string>, <string>)
Ascii
傳回字串中第一個字元的ASCII值。
Ascii(<string>)
Char
傳回與 'n' ASCII 代碼對應的字元
Char(<number>)
Charindex
傳回字串1中字串2的位置。
Charindex(<string>, <string>)
dataLength
傳回字串大小(位元組)
dataLength(<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>)
Left
傳回字串的前 n 個字元
Left(<string>, <number>)
Length
傳回字串的長度
Length(<string>)
折線圖
從字串中擷取n行
Line(<string>,<number>)
Lower
傳回小寫字串
Lower(<string>)
LPad
傳回左側的已完成字串
LPad (<string>, <number>, <char>)
Ltrim
移除字串左側的空格
Ltrim(<string>)
Md5Digest
返回字串 MD5 鍵的十六進位表示
Md5Digest(<string>)
MemoContains
指定備忘錄是否包含作為參數傳遞的字串
MemoContains(<memo>, <string>)
節點值
從其XPath和欄位資料中擷取XML欄位的值
節點值(<string>, <string>)
Replace
以其他字串值取代指定字串值的所有出現次數。
Replace(<string>,<string>,<string>)
Right
傳回字串的最後 n 個字元
Right(<string>)
RPad
傳回右側的已完成字串
RPad(<string>, <number>, <character>)
Rtrim
移除字串右側的空格
Rtrim(<string>)
Sha256Digest
字串SHA256鍵的十六進位表示。
Sha256Digest (<string>)
Sha512Digest
字串SHA512鍵的十六進位表示。
Sha512Digest (<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>)

Window

名稱
說明
語法
超過(_O)__
執行作為第一個引數輸入的SQL函式呼叫,透過作為第二個引數輸入的欄位的Partition或Order By
超過(_O)<value>, <value>)
Desc
套用遞減排序
Desc(<value 1>)
OrderBy
對分區內的結果進行排序
OrderBy(<value 1>)
PartitionBy
對表上的查詢結果進行分區
PartitionBy(<value 1>)
RowNum
根據表格分割和排序順序產生行號。
RowNum(PartitionBy(<value 1>), OrderBy(<value 1>))
recommendation-more-help
c39c2d00-ba9a-424b-adf9-66af58a0c34b