Trong trang này

Các hàm nâng cao

Các nhóm hàm này bổ sung cho ngôn ngữ biểu thức. Mỗi nhóm bên dưới liệt kê các hàm cùng tham số, kiểu trả về và ví dụ.

1. Hàm xử lý văn bản và mẫu

Hàm biểu thức chính quy

Các hàm dùng để tìm và thay thế mẫu bằng biểu thức chính quy.

regexMatch

(text, pattern)

Kiểm tra xem chuỗi có khớp với mẫu biểu thức chính quy hay không.

Tham số
text string Chuỗi cần kiểm tra
pattern string Mẫu biểu thức chính quy
Giá trị trả về boolean
Ví dụ
regexMatch("abc123", "[0-9]+") → true
regexMatch("hello", "^[0-9]+$") → false
Xem thêm

regexReplace

(text, pattern, replacement)

Thay mọi phần khớp với mẫu biểu thức chính quy trong chuỗi.

Tham số
text string Chuỗi đầu vào
pattern string Mẫu biểu thức chính quy cần khớp
replacement string Chuỗi thay thế
Giá trị trả về string
Ví dụ
regexReplace("abc123def456", "[0-9]+", "#") → abc#def#
regexReplace("hello world", "\\s+", " ") → hello world
Xem thêm

regexExtract

(text, pattern, group?)

Lấy phần khớp đầu tiên với mẫu biểu thức chính quy trong chuỗi. Bạn cũng có thể lấy một nhóm bắt cụ thể.

Tham số
text string Chuỗi đầu vào
pattern string Mẫu biểu thức chính quy
group (không bắt buộc) number Chỉ số nhóm bắt; 0 trả về toàn bộ phần khớp (mặc định: 0)
Giá trị trả về string
Ví dụ
regexExtract("abc123def", "[0-9]+") → 123
regexExtract("2025-01-15", "(\\d{4})-(\\d{2})", 1) → 2025
Xem thêm

Hàm xử lý chuỗi

Các hàm bổ sung để xử lý chuỗi.

repeat

(text, count)

Lặp lại văn bản theo số lần chỉ định.

Tham số
text string Văn bản cần lặp lại
count number Số lần lặp
Giá trị trả về chuỗi
Ví dụ
repeat("ab", 3) → "ababab"

countOccurrences

(text, search)

Đếm số lần xuất hiện không chồng lấp của một chuỗi con.

Tham số
text string Văn bản cần tìm
search string Chuỗi con cần tìm
Giá trị trả về số
Ví dụ
countOccurrences("abcabc", "abc") → 2

split

(text, delimiter, index)

Tách văn bản tại dấu phân cách và trả về phần thứ n, bắt đầu từ 1.

Tham số
text string Văn bản cần tách
delimiter string Dấu phân cách
index number Vị trí của phần cần trả về, tính từ 1
Giá trị trả về chuỗi
Ví dụ
split("a-b-c", "-", 2) → "b"

exact

(a, b)

So sánh chuỗi có phân biệt chữ hoa, chữ thường. Trả về true nếu hai chuỗi giống hệt nhau.

Tham số
a string Chuỗi thứ nhất
b string Chuỗi thứ hai
Giá trị trả về boolean
Ví dụ
exact("Hello", "hello") → false

2. Hàm hỗ trợ ngày và thời lượng

Hàm chuyển đổi thời lượng

Chuyển thời lượng tính bằng mili giây sang các đơn vị thời gian thông dụng.

durationInDays

(ms)

Chuyển mili giây sang ngày.

Tham số
ms number Thời lượng tính bằng mili giây
Giá trị trả về số
Ví dụ
durationInDays(86400000) → 1
durationInDays(caseThroughputTime) → Thời gian xử lý case tính bằng ngày

durationInHours

(ms)

Chuyển mili giây sang giờ.

Tham số
ms number Thời lượng tính bằng mili giây
Giá trị trả về số
Ví dụ
durationInHours(3600000) → 1
durationInHours(stepDuration) → Thời lượng bước tính bằng giờ

durationInMinutes

(ms)

Chuyển mili giây sang phút.

Tham số
ms number Thời lượng tính bằng mili giây
Giá trị trả về số
Ví dụ
durationInMinutes(60000) → 1
durationInMinutes(waitingTime) → Thời gian chờ tính bằng phút

durationInSeconds

(ms)

Chuyển mili giây sang giây.

Tham số
ms number Thời lượng tính bằng mili giây
Giá trị trả về số
Ví dụ
durationInSeconds(1500) → 1.5

Tạo ngày tháng

Tạo ngày tháng từ các thành phần hoặc chuyển chuỗi thành ngày tháng.

date

(year, month, day)

Tạo ngày UTC từ năm, tháng và ngày.

Tham số
year number Năm
month number Tháng (1-12)
day number Ngày trong tháng
Giá trị trả về ngày
Ví dụ
date(2024, 1, 1) → 1704067200000
date(2024, 6, 15) → 15/06/2024

toDate

(value, format?)

Chuyển một giá trị thành ngày tháng. Chấp nhận số, chẳng hạn mili giây epoch, hoặc chuỗi.

Tham số
value any Giá trị cần chuyển thành ngày tháng
format (không bắt buộc) string Định dạng ngày tháng (không bắt buộc)
Giá trị trả về ngày
Ví dụ
toDate(1704067200000) → 1704067200000
toDate("2024-01-15") → 15/01/2024
toDate("31/12/2024 23:45:59", "dd/MM/yyyy HH:mm:ss") → 1735688759000
Ghi chú

Khi có định dạng, hãy dùng các mã định dạng được formatDate hỗ trợ. Việc phân tích ngày giờ dựa trên UTC.

today

()

Trả về ngày hiện tại tại thời điểm 00:00 UTC.

Giá trị trả về ngày
Ví dụ
today() → Ngày hiện tại tại thời điểm 00:00

Mốc đầu và cuối của kỳ ngày tháng

Cắt gọn hoặc làm tròn ngày tháng về mốc đầu hoặc cuối của một kỳ.

startOfDay

(date)

Cắt gọn ngày tháng về đầu ngày (00:00).

Tham số
date date Ngày tháng cần cắt gọn
Giá trị trả về ngày
Ví dụ
startOfDay(StartTime) → 00:00 cùng ngày

startOfWeek

(date)

Trả về thời điểm bắt đầu tuần (thứ Hai).

Tham số
date date Ngày tháng
Giá trị trả về ngày
Ví dụ
startOfWeek(StartTime) → Thứ Hai của cùng tuần

startOfMonth

(date)

Trả về ngày đầu tiên của tháng.

Tham số
date date Ngày tháng
Giá trị trả về ngày
Ví dụ
startOfMonth(StartTime) → Ngày đầu tháng

startOfYear

(date)

Trả về ngày 1 tháng 1 của năm.

Tham số
date date Ngày tháng
Giá trị trả về ngày
Ví dụ
startOfYear(StartTime) → Ngày 1 tháng 1

endOfWeek

(date)

Trả về thời điểm kết thúc tuần (Chủ nhật lúc 23:59:59).

Tham số
date date Ngày tháng
Giá trị trả về ngày
Ví dụ
endOfWeek(StartTime) → Cuối ngày Chủ nhật

endOfMonth

(date)

Trả về thời điểm kết thúc tháng lúc 23:59:59.

Tham số
date date Ngày tháng
Giá trị trả về ngày
Ví dụ
endOfMonth(StartTime) → Ngày cuối tháng, thời điểm cuối ngày

endOfYear

(date)

Trả về ngày 31 tháng 12 lúc 23:59:59.

Tham số
date date Ngày tháng
Giá trị trả về ngày
Ví dụ
endOfYear(StartTime) → Ngày 31 tháng 12, thời điểm cuối ngày

Hàm xử lý ngày tháng nhanh

Các hàm tiện dụng để tính khoảng cách và cộng thêm ngày tháng.

daysBetween

(date1, date2)

Trả về khoảng cách giữa hai ngày, tính bằng ngày.

Tham số
date1 date Ngày bắt đầu
date2 date Ngày kết thúc
Giá trị trả về số
Ví dụ
daysBetween(StartTime, EndTime) → Thời lượng tính bằng ngày giữa hai ngày

hoursBetween

(date1, date2)

Trả về khoảng cách giữa hai ngày, tính bằng giờ.

Tham số
date1 date Ngày bắt đầu
date2 date Ngày kết thúc
Giá trị trả về số
Ví dụ
hoursBetween(StartTime, EndTime) → Thời lượng tính bằng giờ giữa hai ngày

minutesBetween

(date1, date2)

Trả về khoảng cách giữa hai ngày, tính bằng phút.

Tham số
date1 date Ngày bắt đầu
date2 date Ngày kết thúc
Giá trị trả về số
Ví dụ
minutesBetween(StartTime, EndTime) → Thời lượng tính bằng phút giữa hai ngày

secondsBetween

(date1, date2)

Trả về khoảng cách giữa hai ngày, tính bằng giây.

Tham số
date1 date Ngày bắt đầu
date2 date Ngày kết thúc
Giá trị trả về số
Ví dụ
secondsBetween(StartTime, EndTime) → Thời lượng tính bằng giây giữa hai ngày

addDays

(date, days)

Cộng số ngày vào một ngày.

Tham số
date date Ngày cơ sở
days number Số ngày cần cộng
Giá trị trả về ngày
Ví dụ
addDays(StartTime, 5) → Ngày sau 5 ngày

addHours

(date, hours)

Cộng số giờ vào một ngày.

Tham số
date date Ngày cơ sở
hours number Số giờ cần cộng
Giá trị trả về ngày
Ví dụ
addHours(StartTime, 3) → Thời điểm sau 3 giờ

addMinutes

(date, minutes)

Cộng số phút vào một ngày.

Tham số
date date Ngày cơ sở
minutes number Số phút cần cộng
Giá trị trả về ngày
Ví dụ
addMinutes(StartTime, 30) → Thời điểm sau 30 phút

addSeconds

(date, seconds)

Cộng số giây vào một ngày.

Tham số
date date Ngày cơ sở
seconds number Số giây cần cộng
Giá trị trả về ngày
Ví dụ
addSeconds(StartTime, 45) → Thời điểm sau 45 giây

endOfDay

(date)

Trả về thời điểm cuối ngày (23:59:59.999) của ngày đã cho.

Tham số
date date Ngày đầu vào
Giá trị trả về ngày
Ví dụ
endOfDay(StartTime) → 23:59:59 cùng ngày

startOfQuarter

(date)

Trả về ngày đầu tiên của quý chứa ngày đã cho.

Tham số
date date Ngày đầu vào
Giá trị trả về ngày
Ví dụ
startOfQuarter(StartTime) → 2024-04-01 nếu ngày đầu vào thuộc tháng 6

endOfQuarter

(date)

Trả về thời điểm cuối cùng của quý chứa ngày đã cho.

Tham số
date date Ngày đầu vào
Giá trị trả về ngày
Ví dụ
endOfQuarter(StartTime) → 2024-06-30T23:59:59Z nếu ngày đầu vào thuộc tháng 6

3. Hàm hỗ trợ logic

Điều kiện nhiều nhánh

Đối chiếu một giá trị với nhiều trường hợp.

switch

(value, match1, result1, ..., default?)

Đối chiếu một giá trị với danh sách các trường hợp và trả về kết quả tương ứng. Tương tự như hàm if nhiều nhánh.

Tham số
value any Giá trị cần đối chiếu
match1, result1, ... any Các cặp giá trị đối chiếu và kết quả
default (không bắt buộc) any Kết quả mặc định nếu không có giá trị khớp (không bắt buộc)
Giá trị trả về bất kỳ
Ví dụ
switch("a", "a", 1, "b", 2, 0) → 1
switch(Status, "Open", 1, "Closed", 2, 0) → 1 nếu Open, 2 nếu Closed, các trường hợp khác trả về 0
Ghi chú

Nhận số lượng đối số linh hoạt: switch(value, match1, result1, match2, result2, ..., default)

Kiểm tra phạm vi

Kiểm tra giá trị có nằm trong phạm vi hay không, hoặc giới hạn giá trị trong một phạm vi.

between

(value, low, high)

Trả về true nếu giá trị nằm trong khoảng từ giới hạn dưới đến giới hạn trên, bao gồm cả hai giới hạn.

Tham số
value number Giá trị cần kiểm tra
low number Giới hạn dưới
high number Giới hạn trên
Giá trị trả về boolean
Ví dụ
between(5, 1, 10) → true
between(Amount, 100, 1000) → true nếu Amount nằm trong khoảng từ 100 đến 1000

clamp

(value, min, max)

Giới hạn giá trị trong khoảng [min, max].

Tham số
value number Giá trị cần giới hạn
min number Giá trị tối thiểu
max number Giá trị tối đa
Giá trị trả về số
Ví dụ
clamp(15, 0, 10) → 10
clamp(Score, 0, 100) → Giới hạn Score trong khoảng 0-100

Khai báo biến với let

Đặt tên cho các giá trị trung gian để dùng trong biểu thức phức tạp.

let

(name, value, body)

Gán một giá trị cho tên, rồi tính biểu thức nội dung với tên đó.

Tham số
name string Tên biến (chuỗi ký tự)
value any Biểu thức cần gán
body any Biểu thức sử dụng biến đã gán
Giá trị trả về bất kỳ
Ví dụ
let("avg", caseAvg(Amount), Amount - avg) → Độ lệch so với giá trị trung bình của case
let("x", Amount * 2, let("y", x + 3, x * y)) → Khai báo let lồng nhau

4. Hàm luồng, hoạt động và SLA

Điều kiện kiểm tra hoạt động đứng trước

Kiểm tra xem một hoạt động có được một hoạt động khác thực hiện trước đó trong cùng case hay không.

directlyPrecededBy

(activity, predecessor)

Trả về true nếu hoạt động thứ hai diễn ra ngay trước hoạt động thứ nhất trong case.

Tham số
activity string Hoạt động cần kiểm tra
predecessor string Hoạt động đứng trước dự kiến
Giá trị trả về boolean
Ví dụ
directlyPrecededBy("Approve", "Review") → true nếu Review diễn ra ngay trước Approve
Xem thêm

eventuallyPrecededBy

(activity, predecessor)

Trả về true nếu hoạt động thứ hai diễn ra trước hoạt động thứ nhất ở một thời điểm nào đó trong case.

Tham số
activity string Hoạt động cần kiểm tra
predecessor string Hoạt động đứng trước dự kiến
Giá trị trả về boolean
Ví dụ
eventuallyPrecededBy("Ship", "Order") → true nếu Order xuất hiện trước Ship trong case
Xem thêm

Phát hiện công việc làm lại

Phát hiện các trường hợp hoạt động lặp lại trong cùng một case.

isRework

Property

True nếu hoạt động hiện tại đã xuất hiện trước đó trong case.

Type boolean

reworkCount

Property

Tổng số lần thực hiện lại hoạt động trong case.

Type number

activityOccurrence

Property

Số lần hoạt động này xuất hiện trong case: 1 là lần đầu, 2 là lần thứ hai, v.v.

Type number

Truy vấn hoạt động

Kiểm tra hoạt động có xuất hiện trong case hay không và đếm số lần xuất hiện.

hasActivity

(activityName)

Trả về true nếu hoạt động có tên chỉ định xuất hiện ở bất kỳ đâu trong case.

Tham số
activityName string Tên hoạt động cần kiểm tra
Giá trị trả về boolean
Ví dụ
hasActivity("Approve") → true nếu case có hoạt động Approve

activityCount

(activityName)

Trả về số lần hoạt động có tên chỉ định xuất hiện trong case.

Tham số
activityName string Tên hoạt động cần đếm
Giá trị trả về số
Ví dụ
activityCount("Review") → Số lần hoạt động Review xuất hiện trong case

Thời gian giữa các hoạt động

Đo khoảng thời gian giữa các hoạt động cụ thể trong một case.

timeBetween

(activityA, activityB)

Trả về khoảng thời gian từ lần đầu hoạt động A xuất hiện đến lần đầu hoạt động B xuất hiện.

Tham số
activityA string Hoạt động thứ nhất
activityB string Hoạt động thứ hai
Giá trị trả về số
Ví dụ
timeBetween("Submit", "Approve") → Thời gian tính bằng mili giây từ Submit đến Approve

timeSinceActivity

(activityName)

Thời gian đã trôi qua kể từ lần gần nhất hoạt động có tên chỉ định xuất hiện trước event hiện tại.

Tham số
activityName string Tên hoạt động
Giá trị trả về số
Ví dụ
timeSinceActivity("Start") → Thời gian kể từ hoạt động Start gần nhất

timeToActivity

(activityName)

Thời gian đến lần tiếp theo hoạt động có tên chỉ định xuất hiện sau event hiện tại.

Tham số
activityName string Tên hoạt động
Giá trị trả về số
Ví dụ
timeToActivity("Complete") → Thời gian đến hoạt động Complete tiếp theo

Hàm SLA

Theo dõi thỏa thuận mức dịch vụ và phát hiện trường hợp vi phạm.

slaBreached

(duration, threshold)

Trả về true nếu thời lượng vượt ngưỡng SLA.

Tham số
duration number Thời lượng thực tế
threshold number Ngưỡng SLA
Giá trị trả về boolean
Ví dụ
slaBreached(100000, 86400000) → false
slaBreached(caseThroughputTime, 86400000) → true nếu case vượt SLA 24 giờ

slaRemaining

(startDate, slaDuration)

Trả về thời gian còn lại trước khi vi phạm SLA, hoặc giá trị âm sau khi đã vi phạm.

Tham số
startDate date Dấu thời gian bắt đầu
slaDuration number Thời lượng SLA tính bằng mili giây
Giá trị trả về số
Ví dụ
slaRemaining(caseStartTime, 172800000) → Thời gian còn lại của SLA 48 giờ

caseAge

Property

Thời gian đã trôi qua kể từ khi case bắt đầu, tính bằng mili giây từ sự kiện đầu tiên đến hiện tại.

Type number

Phát hiện vòng lặp tự thân

Phát hiện và đếm các vòng lặp tự thân, khi cùng một hoạt động diễn ra liên tiếp.

isSelfLoop

Property

True nếu hoạt động hiện tại giống hoạt động trước đó trong case.

Type boolean

selfLoopCount

Property

Số lần liên tiếp hoạt động hiện tại lặp lại trong case.

Type number

Phân tích tài nguyên

Phát hiện việc bàn giao và thay đổi tài nguyên trong một case.

isResourceChange

(expr)

Trả về true nếu giá trị biểu thức thay đổi so với sự kiện trước đó.

Tham số
expr any Biểu thức cột cần kiểm tra thay đổi
Giá trị trả về boolean
Ví dụ
isResourceChange(Resource) → true khi tài nguyên khác với sự kiện trước đó

resourceHandoffCount

(expr)

Đếm số lần giá trị thay đổi trong case.

Tham số
expr any Biểu thức cột có thay đổi cần đếm
Giá trị trả về số
Ví dụ
resourceHandoffCount(Resource) → 2 với chuỗi Alice→Alice→Bob→Bob→Alice
Ghi chú

Chưa dùng được trong các biểu thức chạy trên Athena. Với truy vấn backend, hãy dùng isResourceChange(expr) cùng caseCountIf(...) trong một thuộc tính dẫn xuất.

5. Thống kê, xếp hạng và thay đổi giá trị

Hàm xếp hạng

Xếp hạng event theo giá trị biểu thức trong một case hoặc trên tất cả event.

caseRank

(expr)

Xếp hạng event hiện tại trong case theo giá trị biểu thức, có chừa khoảng trống khi đồng hạng.

Tham số
expr number Biểu thức dùng để xếp hạng
Giá trị trả về số
Ví dụ
caseRank(Amount) → Xếp hạng Amount trong case

caseDenseRank

(expr)

Xếp hạng dày trong case, không bỏ số thứ hạng khi có giá trị bằng nhau.

Tham số
expr number Biểu thức dùng để xếp hạng
Giá trị trả về số
Ví dụ
caseDenseRank(Amount) → Xếp hạng dày theo Amount trong case

allRank

(expr)

Xếp hạng trên tất cả sự kiện.

Tham số
expr number Biểu thức dùng để xếp hạng
Giá trị trả về số
Ví dụ
allRank(Duration) → Xếp hạng toàn cục theo Duration

allPercentRank

(expr)

Xếp hạng phần trăm trên tất cả sự kiện, từ 0 đến 1.

Tham số
expr number Biểu thức dùng để xếp hạng
Giá trị trả về số
Ví dụ
allPercentRank(Duration) → Xếp hạng phần trăm (0-1)

Phát hiện thay đổi giá trị

Phát hiện khi giá trị thay đổi giữa các sự kiện.

changed

(expr)

Trả về true nếu giá trị của biểu thức khác với sự kiện trước đó.

Tham số
expr any Biểu thức cần kiểm tra thay đổi
Giá trị trả về boolean
Ví dụ
changed(Resource) → true nếu tài nguyên khác với sự kiện trước đó

caseChanges

(expr)

Đếm số lần giá trị thay đổi trong tất cả sự kiện của case.

Tham số
expr any Biểu thức cần kiểm tra thay đổi
Giá trị trả về số
Ví dụ
caseChanges(Resource) → Số lần bàn giao tài nguyên trong case
Ghi chú

Chưa dùng được trong các biểu thức chạy trên Athena. Với truy vấn backend, hãy dùng changed(expr) cùng caseCountIf(...) trong một thuộc tính dẫn xuất.

Phép tổng hợp lũy kế có điều kiện

Phép tổng hợp lũy kế có điều kiện, tính đến sự kiện hiện tại.

caseRunningSumIf

(expr, condition)

Tổng lũy kế có điều kiện tính đến sự kiện hiện tại.

Tham số
expr number Biểu thức cần tính tổng
condition boolean Điều kiện lọc sự kiện
Giá trị trả về số
Ví dụ
caseRunningSumIf(Amount, Status == "Paid") → Tổng lũy kế Amount khi Status là Paid

caseRunningCountIf

(condition)

Số lượng lũy kế có điều kiện tính đến sự kiện hiện tại.

Tham số
condition boolean Điều kiện cần đếm
Giá trị trả về số
Ví dụ
caseRunningCountIf(Activity == "Error") → Số lượng lũy kế các hoạt động Error

caseRunningAvgIf

(expr, condition)

Giá trị trung bình lũy kế có điều kiện tính đến sự kiện hiện tại.

Tham số
expr number Biểu thức cần tính trung bình
condition boolean Điều kiện lọc sự kiện
Giá trị trả về số
Ví dụ
caseRunningAvgIf(Duration, Priority == "High") → Thời lượng trung bình lũy kế của các sự kiện ưu tiên cao

Thuộc tính thời gian đã trôi qua

Thuộc tính dùng để đo tiến độ và thời gian đã trôi qua trong một case.

elapsedSinceStart

Property

Thời gian đã trôi qua kể từ khi case bắt đầu, tính bằng mili giây.

Type number

remainingInCase

Property

Thời gian còn lại đến khi case kết thúc, tính bằng mili giây.

Type number

percentComplete

Property

Tiến độ của case, biểu thị bằng giá trị từ 0 đến 1.

Type number

Phép tổng hợp có điều kiện mở rộng

Các hàm tổng hợp có điều kiện bổ sung để tính trung vị, độ lệch chuẩn và số lượng giá trị riêng biệt.

caseMedianIf

(expr, condition)

Tính trung vị có điều kiện của các sự kiện trong case thỏa mãn điều kiện.

Tham số
expr number Biểu thức giá trị
condition boolean Điều kiện lọc
Giá trị trả về số
Ví dụ
caseMedianIf(Amount, Activity == "Review") → Trung vị Amount của các hoạt động Review

allMedianIf

(expr, condition)

Tính trung vị có điều kiện của tất cả sự kiện thỏa mãn điều kiện.

Tham số
expr number Biểu thức giá trị
condition boolean Điều kiện lọc
Giá trị trả về số
Ví dụ
allMedianIf(Amount, Status == "Complete") → Trung vị toàn cục của các sự kiện đã hoàn tất

caseStdDevIf

(expr, condition)

Tính độ lệch chuẩn có điều kiện của các sự kiện trong case.

Tham số
expr number Biểu thức giá trị
condition boolean Điều kiện lọc
Giá trị trả về số
Ví dụ
caseStdDevIf(Duration, Activity == "Review") → Độ lệch chuẩn Duration của các hoạt động Review trong case

allStdDevIf

(expr, condition)

Tính độ lệch chuẩn có điều kiện của tất cả sự kiện.

Tham số
expr number Biểu thức giá trị
condition boolean Điều kiện lọc
Giá trị trả về số
Ví dụ
allStdDevIf(Amount, Priority == "High") → Độ lệch chuẩn toàn cục của các sự kiện ưu tiên cao

caseCountDistinctIf

(expr, condition)

Đếm các giá trị riêng biệt thỏa mãn điều kiện trong các sự kiện của case.

Tham số
expr any Biểu thức giá trị
condition boolean Điều kiện lọc
Giá trị trả về số
Ví dụ
caseCountDistinctIf(Category, Amount > 100) → Các danh mục riêng biệt có Amount lớn

allCountDistinctIf

(expr, condition)

Đếm các giá trị riêng biệt thỏa mãn điều kiện trong tất cả sự kiện.

Tham số
expr any Biểu thức giá trị
condition boolean Điều kiện lọc
Giá trị trả về số
Ví dụ
allCountDistinctIf(User, Department == "Sales") → Số người dùng riêng biệt thuộc bộ phận Sales

Phép tổng hợp lũy kế mở rộng

Các hàm tổng hợp lũy kế bổ sung để tính trung vị, độ lệch chuẩn, giá trị nhỏ nhất và lớn nhất có điều kiện.

caseRunningMedian

(expr)

Trung vị lũy kế của các giá trị tính đến sự kiện hiện tại.

Tham số
expr number Biểu thức giá trị
Giá trị trả về số
Ví dụ
caseRunningMedian(Amount) → Trung vị Amount lũy kế

caseRunningStdDev

(expr)

Độ lệch chuẩn lũy kế tính đến sự kiện hiện tại.

Tham số
expr number Biểu thức giá trị
Giá trị trả về số
Ví dụ
caseRunningStdDev(Amount) → Độ lệch chuẩn lũy kế

caseRunningMinIf

(expr, condition)

Giá trị nhỏ nhất lũy kế có điều kiện tính đến sự kiện hiện tại.

Tham số
expr number Biểu thức giá trị
condition boolean Điều kiện lọc
Giá trị trả về số
Ví dụ
caseRunningMinIf(Amount, Activity == "Review") → Giá trị Amount nhỏ nhất lũy kế của các hoạt động Review

caseRunningMaxIf

(expr, condition)

Giá trị lớn nhất lũy kế có điều kiện tính đến sự kiện hiện tại.

Tham số
expr number Biểu thức giá trị
condition boolean Điều kiện lọc
Giá trị trả về số
Ví dụ
caseRunningMaxIf(Amount, Priority == "High") → Giá trị lớn nhất lũy kế của các sự kiện ưu tiên cao

6. Hàm JSON

Trích xuất JSON

Trích xuất giá trị từ chuỗi JSON bằng biểu thức đường dẫn.

jsonExtract

(json, path)

Trích xuất giá trị từ chuỗi JSON bằng biểu thức JSONPath.

Tham số
json string Chuỗi JSON
path string Biểu thức JSONPath, ví dụ: "$.field"
Giá trị trả về bất kỳ
Ví dụ
jsonExtract("{\"name\":\"John\"}", "$.name") → John

jsonValue

(json, path)

Trích xuất giá trị đơn từ chuỗi JSON dưới dạng chuỗi.

Tham số
json string Chuỗi JSON
path string Biểu thức JSONPath
Giá trị trả về chuỗi
Ví dụ
jsonValue("{\"age\":30}", "$.age") → "30"

jsonArrayLength

(json)

Trả về độ dài của mảng JSON.

Tham số
json string Chuỗi mảng JSON
Giá trị trả về số
Ví dụ
jsonArrayLength("[1,2,3]") → 3

7. Chủ đề liên quan

Thiết kế quy trình tốt hơn. Kết nối các quy trình. Luôn chủ động kiểm soát.

Truy cập ngay, không cần thẻ tín dụng hay chờ đợi. Biến cách tổ chức của bạn vận hành thành các thiết kế quy trình rõ ràng, liên kết với nhau.

Xây dựng kiến trúc quy trình, xác định quyền sở hữu và cơ chế kiểm soát, đồng thời thống nhất vai trò và trách nhiệm ở mọi cấp.

Bắt đầu dùng thử miễn phí để tạo nền tảng đáng tin cậy cho việc quản trị, quản lý và cải tiến quy trình liên tục.