กลุ่มฟังก์ชันเหล่านี้ช่วยให้ใช้ภาษา expression ได้ครบถ้วนยิ่งขึ้น แต่ละกลุ่มด้านล่างแสดงฟังก์ชัน พารามิเตอร์ ชนิดค่าที่ส่งกลับ และตัวอย่าง.
1. ฟังก์ชันข้อความและรูปแบบ
ฟังก์ชันนิพจน์ทั่วไป
ฟังก์ชันสำหรับค้นหารูปแบบและแทนที่ข้อความด้วยนิพจน์ทั่วไป.
regexMatch
(text, pattern) ตรวจสอบว่าข้อความตรงกับรูปแบบนิพจน์ทั่วไปหรือไม่.
| พารามิเตอร์ | | text | string | ข้อความที่ต้องการทดสอบ | | pattern | string | รูปแบบนิพจน์ทั่วไป | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | regexMatch("abc123", "[0-9]+") → true regexMatch("hello", "^[0-9]+$") → false |
| ดูเพิ่มเติม | |
regexReplace
(text, pattern, replacement) แทนที่ทุกส่วนในข้อความที่ตรงกับรูปแบบนิพจน์ทั่วไป.
| พารามิเตอร์ | | text | string | ข้อความนำเข้า | | pattern | string | รูปแบบนิพจน์ทั่วไปที่ต้องการค้นหา | | replacement | string | ข้อความที่ใช้แทน | |
| ค่าที่ส่งกลับ | สตริง |
| ตัวอย่าง | regexReplace("abc123def456", "[0-9]+", "#") → abc#def# regexReplace("hello world", "\s+", " ") → hello world |
| ดูเพิ่มเติม | |
(text, pattern, group?) ดึงส่วนแรกที่ตรงกับรูปแบบนิพจน์ทั่วไปจากข้อความ คุณยังดึงกลุ่มจับคู่ที่ระบุได้ด้วย.
| พารามิเตอร์ | | text | string | ข้อความนำเข้า | | pattern | string | รูปแบบนิพจน์ทั่วไป | | group (ไม่บังคับ) | number | ดัชนีกลุ่มจับคู่ โดย 0 จะคืนค่าที่ตรงกันทั้งหมด (ค่าเริ่มต้น: 0) | |
| ค่าที่ส่งกลับ | สตริง |
| ตัวอย่าง | regexExtract("abc123def", "[0-9]+") → 123 regexExtract("2025-01-15", "(\d{4})-(\d{2})", 1) → 2025 |
| ดูเพิ่มเติม | |
ฟังก์ชันจัดการข้อความ
ฟังก์ชันเพิ่มเติมสำหรับจัดการข้อความ.
repeat
(text, count) ทำซ้ำข้อความตามจำนวนครั้งที่กำหนด.
| พารามิเตอร์ | | text | string | ข้อความที่ต้องการทำซ้ำ | | count | number | จำนวนครั้งที่ทำซ้ำ | |
| ค่าที่ส่งกลับ | ข้อความ |
| ตัวอย่าง | repeat("ab", 3) → "ababab" |
countOccurrences
(text, search) นับจำนวนครั้งที่ข้อความย่อยปรากฏโดยไม่นับส่วนที่ซ้อนทับกัน.
| พารามิเตอร์ | | text | string | ข้อความที่ต้องการค้นหา | | search | string | ข้อความย่อยที่ต้องการค้นหา | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | countOccurrences("abcabc", "abc") → 2 |
split
(text, delimiter, index) แบ่งข้อความตามตัวคั่น แล้วคืนส่วนที่ระบุตามลำดับ โดยเริ่มนับจาก 1.
| พารามิเตอร์ | | text | string | ข้อความที่ต้องการแบ่ง | | delimiter | string | ตัวคั่น | | index | number | ลำดับของส่วนที่ต้องการคืนค่า โดยเริ่มนับจาก 1 | |
| ค่าที่ส่งกลับ | ข้อความ |
| ตัวอย่าง | split("a-b-c", "-", 2) → "b" |
exact
(a, b) เปรียบเทียบข้อความโดยแยกตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ คืนค่า true เมื่อข้อความเหมือนกันทุกประการ.
| พารามิเตอร์ | | a | string | ข้อความแรก | | b | string | ข้อความที่สอง | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | exact("Hello", "hello") → false |
2. ฟังก์ชันช่วยจัดการวันที่และระยะเวลา
ฟังก์ชันแปลงระยะเวลา
แปลงระยะเวลาจากมิลลิวินาทีเป็นหน่วยเวลาที่ใช้ทั่วไป.
durationInDays
(ms) แปลงมิลลิวินาทีเป็นวัน.
| พารามิเตอร์ | | ms | number | ระยะเวลาในหน่วยมิลลิวินาที | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | durationInDays(86400000) → 1 durationInDays(caseThroughputTime) → ระยะเวลาดำเนินการในหน่วยวัน |
durationInHours
(ms) แปลงมิลลิวินาทีเป็นชั่วโมง.
| พารามิเตอร์ | | ms | number | ระยะเวลาในหน่วยมิลลิวินาที | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | durationInHours(3600000) → 1 durationInHours(stepDuration) → ระยะเวลาของขั้นตอนในหน่วยชั่วโมง |
durationInMinutes
(ms) แปลงมิลลิวินาทีเป็นนาที.
| พารามิเตอร์ | | ms | number | ระยะเวลาในหน่วยมิลลิวินาที | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | durationInMinutes(60000) → 1 durationInMinutes(waitingTime) → เวลารอในหน่วยนาที |
durationInSeconds
(ms) แปลงมิลลิวินาทีเป็นวินาที.
| พารามิเตอร์ | | ms | number | ระยะเวลาในหน่วยมิลลิวินาที | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | durationInSeconds(1500) → 1.5 |
การสร้างวันที่
สร้างวันที่จากองค์ประกอบต่างๆ หรือแปลงข้อความเป็นวันที่.
date
(year, month, day) สร้างวันที่ UTC จากปี เดือน และวัน.
| พารามิเตอร์ | | year | number | ปี | | month | number | เดือน (1-12) | | day | number | วันในเดือน | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | date(2024, 1, 1) → 1704067200000 date(2024, 6, 15) → 15 มิถุนายน 2024 |
toDate
(value, format?) แปลงค่าเป็นวันที่ได้ทั้งตัวเลข เช่น มิลลิวินาทีจาก epoch หรือข้อความ.
| พารามิเตอร์ | | value | any | ค่าที่ต้องการแปลงเป็นวันที่ | | format (ไม่บังคับ) | string | รูปแบบวันที่ (ไม่บังคับ) | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | toDate(1704067200000) → 1704067200000 toDate("2024-01-15") → 15 มกราคม 2024 toDate("31/12/2024 23:45:59", "dd/MM/yyyy HH:mm:ss") → 1735688759000 |
| หมายเหตุ | หากระบุรูปแบบ ให้ใช้โทเค็นที่รองรับแบบเดียวกับ formatDate การแปลงวันที่จะอิง UTC. |
today
() คืนวันที่ปัจจุบัน ณ เวลาเที่ยงคืน UTC.
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | today() → วันที่ปัจจุบัน ณ เวลาเที่ยงคืน |
ขอบเขตของช่วงวันที่
ตัดหรือปัดวันที่ให้ตรงกับจุดเริ่มต้นหรือสิ้นสุดของช่วงเวลา.
startOfDay
(date) ตัดวันที่ให้เหลือเวลาเริ่มต้นของวัน (เที่ยงคืน).
| พารามิเตอร์ | | date | date | วันที่ที่ต้องการตัด | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | startOfDay(StartTime) → เวลาเที่ยงคืนของวันเดียวกัน |
startOfWeek
(date) คืนวันเริ่มต้นของสัปดาห์ (วันจันทร์).
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | startOfWeek(StartTime) → วันจันทร์ของสัปดาห์เดียวกัน |
startOfMonth
(date) คืนวันแรกของเดือน.
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | startOfMonth(StartTime) → วันแรกของเดือน |
startOfYear
(date) คืนวันที่ 1 มกราคมของปีนั้น.
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | startOfYear(StartTime) → วันที่ 1 มกราคม |
endOfWeek
(date) คืนเวลาสิ้นสุดของสัปดาห์ (วันอาทิตย์ 23:59:59).
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | endOfWeek(StartTime) → สิ้นวันอาทิตย์ |
endOfMonth
(date) คืนเวลาสิ้นสุดของเดือน ณ 23:59:59.
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | endOfMonth(StartTime) → วันสุดท้ายของเดือน ณ สิ้นวัน |
endOfYear
(date) คืนวันที่ 31 ธันวาคม ณ 23:59:59.
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | endOfYear(StartTime) → วันที่ 31 ธันวาคม ณ สิ้นวัน |
ทางลัดสำหรับวันที่
ฟังก์ชันช่วยคำนวณผลต่างและการบวกวันที่ที่ใช้บ่อย.
daysBetween
(date1, date2) คืนผลต่างระหว่างวันที่สองวันเป็นจำนวนวัน.
| พารามิเตอร์ | | date1 | date | วันที่เริ่มต้น | | date2 | date | วันที่สิ้นสุด | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | daysBetween(StartTime, EndTime) → ระยะห่างระหว่างวันที่สองวัน หน่วยเป็นวัน |
hoursBetween
(date1, date2) คืนผลต่างระหว่างวันที่สองวันเป็นจำนวนชั่วโมง.
| พารามิเตอร์ | | date1 | date | วันที่เริ่มต้น | | date2 | date | วันที่สิ้นสุด | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | hoursBetween(StartTime, EndTime) → ระยะห่างระหว่างวันที่สองวัน หน่วยเป็นชั่วโมง |
minutesBetween
(date1, date2) คืนผลต่างระหว่างวันที่สองวันเป็นจำนวนนาที.
| พารามิเตอร์ | | date1 | date | วันที่เริ่มต้น | | date2 | date | วันที่สิ้นสุด | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | minutesBetween(StartTime, EndTime) → ระยะห่างระหว่างวันที่สองวัน หน่วยเป็นนาที |
secondsBetween
(date1, date2) คืนผลต่างระหว่างวันที่สองวันเป็นจำนวนวินาที.
| พารามิเตอร์ | | date1 | date | วันที่เริ่มต้น | | date2 | date | วันที่สิ้นสุด | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | secondsBetween(StartTime, EndTime) → ระยะห่างระหว่างวันที่สองวัน หน่วยเป็นวินาที |
addDays
(date, days) บวกจำนวนวันเข้ากับวันที่.
| พารามิเตอร์ | | date | date | วันที่ตั้งต้น | | days | number | จำนวนวันที่ต้องการบวก | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | addDays(StartTime, 5) → วันที่หลังจากนั้น 5 วัน |
addHours
(date, hours) บวกจำนวนชั่วโมงเข้ากับวันที่.
| พารามิเตอร์ | | date | date | วันที่ตั้งต้น | | hours | number | จำนวนชั่วโมงที่ต้องการบวก | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | addHours(StartTime, 3) → วันที่หลังจากนั้น 3 ชั่วโมง |
addMinutes
(date, minutes) บวกจำนวนนาทีเข้ากับวันที่.
| พารามิเตอร์ | | date | date | วันที่ตั้งต้น | | minutes | number | จำนวนนาทีที่ต้องการบวก | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | addMinutes(StartTime, 30) → วันที่หลังจากนั้น 30 นาที |
addSeconds
(date, seconds) บวกจำนวนวินาทีเข้ากับวันที่.
| พารามิเตอร์ | | date | date | วันที่ตั้งต้น | | seconds | number | จำนวนวินาทีที่ต้องการบวก | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | addSeconds(StartTime, 45) → วันที่หลังจากนั้น 45 วินาที |
endOfDay
(date) คืนเวลาสิ้นสุดของวันที่ระบุ (23:59:59.999).
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | endOfDay(StartTime) → เวลา 23:59:59 ของวันเดียวกัน |
startOfQuarter
(date) คืนวันแรกของไตรมาสที่ตรงกับวันที่ระบุ.
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | startOfQuarter(StartTime) → วันที่ 2024-04-01 สำหรับวันที่ในเดือนมิถุนายน |
endOfQuarter
(date) คืนเวลาสุดท้ายของไตรมาสที่ตรงกับวันที่ระบุ.
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | วันที่ |
| ตัวอย่าง | endOfQuarter(StartTime) → 2024-06-30T23:59:59Z สำหรับวันที่ในเดือนมิถุนายน |
3. ฟังก์ชันช่วยด้านตรรกะ
เงื่อนไขหลายกรณี
ตรวจสอบค่ากับหลายกรณี.
switch
(value, match1, result1, ..., default?) ตรวจสอบค่ากับรายการกรณีต่างๆ แล้วคืนผลลัพธ์ที่ตรงกัน คล้ายกับการใช้ if หลายเงื่อนไข.
| พารามิเตอร์ | | value | any | ค่าที่ต้องการตรวจสอบ | | match1, result1, ... | any | คู่ของค่าที่ใช้จับคู่และผลลัพธ์ | | default (ไม่บังคับ) | any | ผลลัพธ์เริ่มต้นเมื่อไม่พบค่าที่ตรงกัน (ไม่บังคับ) | |
| ค่าที่ส่งกลับ | ชนิดใดก็ได้ |
| ตัวอย่าง | switch("a", "a", 1, "b", 2, 0) → 1 switch(Status, "Open", 1, "Closed", 2, 0) → คืนค่า 1 เมื่อเป็น Open, 2 เมื่อเป็น Closed และ 0 ในกรณีอื่น |
| หมายเหตุ | รับอาร์กิวเมนต์ได้หลายค่า: switch(value, match1, result1, match2, result2, ..., default) |
ตรวจสอบช่วงค่า
ตรวจสอบว่าค่าอยู่ในช่วงที่กำหนดหรือจำกัดค่าให้อยู่ในช่วงนั้น.
between
(value, low, high) คืนค่า true เมื่อค่าอยู่ระหว่างขอบเขตล่างและขอบเขตบน รวมค่าที่ขอบเขตด้วย.
| พารามิเตอร์ | | value | number | ค่าที่ต้องการตรวจสอบ | | low | number | ขอบเขตล่าง | | high | number | ขอบเขตบน | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | between(Amount, 100, 1000) → เป็น true หาก Amount อยู่ระหว่าง 100 ถึง 1000 |
clamp
(value, min, max) จำกัดค่าให้อยู่ในช่วง [min, max].
| พารามิเตอร์ | | value | number | ค่าที่ต้องการจำกัดให้อยู่ในช่วง | | min | number | ค่าต่ำสุด | | max | number | ค่าสูงสุด | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | clamp(Score, 0, 100) → จำกัด Score ให้อยู่ระหว่าง 0-100 |
การกำหนดค่าด้วย let
ตั้งชื่อให้ค่าระหว่างทาง เพื่อนำไปใช้ในนิพจน์ที่ซับซ้อน.
let
(name, value, body) กำหนดค่าให้ชื่อหนึ่ง แล้วคำนวณนิพจน์ส่วนเนื้อหาโดยใช้ชื่อนั้นได้.
| พารามิเตอร์ | | name | string | ชื่อตัวแปร (ข้อความที่ระบุโดยตรง) | | value | any | นิพจน์ที่ต้องการกำหนดค่า | | body | any | นิพจน์ที่ใช้ตัวแปรที่กำหนดไว้ | |
| ค่าที่ส่งกลับ | ชนิดใดก็ได้ |
| ตัวอย่าง | let("avg", caseAvg(Amount), Amount - avg) → ผลต่างจากค่าเฉลี่ยของเคส let("x", Amount * 2, let("y", x + 3, x * y)) → การกำหนดค่า let ซ้อนกัน |
4. ฟังก์ชันการไหล กิจกรรม และ SLA
เงื่อนไขการเกิดก่อนหน้า
ตรวจสอบว่ากิจกรรมหนึ่งเกิดก่อนอีกกิจกรรมภายในเคสหรือไม่.
directlyPrecededBy
(activity, predecessor) คืนค่า true หากกิจกรรมที่สองเกิดก่อนกิจกรรมแรกทันทีภายในเคส.
| พารามิเตอร์ | | activity | string | กิจกรรมที่ต้องการตรวจสอบ | | predecessor | string | กิจกรรมก่อนหน้าที่คาดไว้ | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | directlyPrecededBy("Approve", "Review") → เป็น true หาก Review เกิดก่อน Approve ทันที |
| ดูเพิ่มเติม | |
eventuallyPrecededBy
(activity, predecessor) คืนค่า true หากกิจกรรมที่สองเกิดก่อนกิจกรรมแรกในภายหลังภายในเคส.
| พารามิเตอร์ | | activity | string | กิจกรรมที่ต้องการตรวจสอบ | | predecessor | string | กิจกรรมก่อนหน้าที่คาดไว้ | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | eventuallyPrecededBy("Ship", "Order") → เป็น true หาก Order ปรากฏก่อน Ship ในเคส |
| ดูเพิ่มเติม | |
การตรวจจับการทำงานซ้ำ
ระบุรูปแบบการทำงานซ้ำ เมื่อกิจกรรมเกิดขึ้นหลายครั้งภายในเคส.
isRework
Property เป็น true หากกิจกรรมปัจจุบันเคยเกิดขึ้นก่อนหน้านี้ในเคส.
reworkCount
Property จำนวนครั้งทั้งหมดที่มีการทำกิจกรรมซ้ำในเคส.
activityOccurrence
Property ลำดับครั้งที่กิจกรรมนี้เกิดขึ้นในเคส: 1 คือครั้งแรก, 2 คือครั้งที่สอง และต่อไปตามลำดับ.
การค้นหากิจกรรม
ตรวจสอบว่ากิจกรรมปรากฏในเคสหรือไม่ และนับจำนวนครั้งที่เกิดขึ้น.
hasActivity
(activityName) คืนค่า true หากกิจกรรมที่ระบุปรากฏที่ใดก็ตามในเคส.
| พารามิเตอร์ | | activityName | string | ชื่อกิจกรรมที่ต้องการตรวจสอบ | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | hasActivity("Approve") → เป็น true หากเคสมีการทำกิจกรรม Approve |
activityCount
(activityName) คืนจำนวนครั้งที่กิจกรรมที่ระบุปรากฏในเคส.
| พารามิเตอร์ | | activityName | string | ชื่อกิจกรรมที่ต้องการนับ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | activityCount("Review") → จำนวนครั้งที่ทำกิจกรรม Review ในเคส |
ระยะเวลาระหว่างกิจกรรม
วัดเวลาระหว่างกิจกรรมที่ระบุภายในเคส.
timeBetween
(activityA, activityB) คืนระยะเวลาระหว่างครั้งแรกที่กิจกรรม A และกิจกรรม B เกิดขึ้น.
| พารามิเตอร์ | | activityA | string | กิจกรรมแรก | | activityB | string | กิจกรรมที่สอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | timeBetween("Submit", "Approve") → ระยะเวลาเป็นมิลลิวินาทีจาก Submit ถึง Approve |
timeSinceActivity
(activityName) เวลาที่ผ่านไปนับจากครั้งล่าสุดที่กิจกรรมที่ระบุเกิดขึ้นก่อนเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | | activityName | string | ชื่อกิจกรรม | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | timeSinceActivity("Start") → เวลานับจากกิจกรรม Start ครั้งล่าสุด |
timeToActivity
(activityName) เวลาจนถึงครั้งถัดไปที่กิจกรรมที่ระบุเกิดขึ้นหลังเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | | activityName | string | ชื่อกิจกรรม | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | timeToActivity("Complete") → เวลาจนถึงกิจกรรม Complete ครั้งถัดไป |
ฟังก์ชัน SLA
ติดตามข้อตกลงระดับการให้บริการและตรวจจับกรณีที่ไม่เป็นไปตาม SLA.
slaBreached
(duration, threshold) คืนค่า true หากระยะเวลาเกินเกณฑ์ SLA.
| พารามิเตอร์ | | duration | number | ระยะเวลาจริง | | threshold | number | เกณฑ์ SLA | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | slaBreached(100000, 86400000) → false slaBreached(caseThroughputTime, 86400000) → เป็น true หากเคสใช้เวลาเกิน SLA 24 ชั่วโมง |
slaRemaining
(startDate, slaDuration) คืนเวลาที่เหลือก่อนจะเกิน SLA หรือค่าเป็นลบเมื่อเกิน SLA แล้ว.
| พารามิเตอร์ | | startDate | date | เวลาเริ่มต้น | | slaDuration | number | ระยะเวลา SLA หน่วยเป็นมิลลิวินาที | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | slaRemaining(caseStartTime, 172800000) → เวลาที่เหลือสำหรับ SLA 48 ชั่วโมง |
caseAge
Property เวลาที่ผ่านไปนับจากเริ่มเคส หน่วยเป็นมิลลิวินาทีจากเหตุการณ์แรกจนถึงขณะนี้.
ตรวจจับการวนซ้ำของกิจกรรม
ตรวจจับและนับรูปแบบที่กิจกรรมเดิมเกิดขึ้นต่อเนื่องกัน.
isSelfLoop
Property เป็น true หากกิจกรรมปัจจุบันเหมือนกับกิจกรรมก่อนหน้าในเคส.
selfLoopCount
Property จำนวนครั้งที่กิจกรรมเดิมเกิดซ้ำต่อเนื่องกันในเคสปัจจุบัน.
การวิเคราะห์ทรัพยากร
ตรวจจับการส่งต่องานและการเปลี่ยนแปลงของทรัพยากรภายในเคส.
isResourceChange
(expr) คืนค่า true หากค่าของนิพจน์เปลี่ยนจากเหตุการณ์ก่อนหน้า.
| พารามิเตอร์ | | expr | any | นิพจน์คอลัมน์ที่ใช้ตรวจสอบการเปลี่ยนแปลง | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | isResourceChange(Resource) → เป็น true เมื่อทรัพยากรต่างจากเหตุการณ์ก่อนหน้า |
resourceHandoffCount
(expr) นับจำนวนครั้งที่ค่าเปลี่ยนแปลงภายในเคส.
| พารามิเตอร์ | | expr | any | นิพจน์คอลัมน์ที่ต้องการนับการเปลี่ยนแปลง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | resourceHandoffCount(Resource) → ได้ค่า 2 สำหรับ Alice→Alice→Bob→Bob→Alice |
| หมายเหตุ | ยังไม่รองรับในนิพจน์ที่ใช้ Athena สำหรับคิวรี backend ให้ใช้ isResourceChange(expr) ร่วมกับ caseCountIf(...) ในแอตทริบิวต์ที่คำนวณขึ้น. |
5. สถิติ การจัดอันดับ และการเปลี่ยนแปลงค่า
ฟังก์ชันจัดอันดับ
จัดอันดับเหตุการณ์ตามค่านิพจน์ภายในเคสหรือจากทุกเหตุการณ์.
caseRank
(expr) อันดับของเหตุการณ์ปัจจุบันในเคส เรียงตามค่านิพจน์ และเว้นลำดับเมื่อมีค่าเสมอกัน.
| พารามิเตอร์ | | expr | number | นิพจน์ที่ใช้จัดอันดับ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseRank(Amount) → จัดอันดับ Amount ภายในเคส |
caseDenseRank
(expr) จัดอันดับแบบไม่เว้นลำดับเมื่อค่าเท่ากันภายในเคส.
| พารามิเตอร์ | | expr | number | นิพจน์ที่ใช้จัดอันดับ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseDenseRank(Amount) → จัดอันดับ Amount แบบไม่เว้นลำดับเมื่อค่าเท่ากันภายในเคส |
allRank
(expr) จัดอันดับเหตุการณ์ทั้งหมด.
| พารามิเตอร์ | | expr | number | นิพจน์ที่ใช้จัดอันดับ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | allRank(Duration) → จัดอันดับ Duration โดยรวม |
allPercentRank
(expr) จัดอันดับเหตุการณ์ทั้งหมดเป็นเปอร์เซ็นต์ ตั้งแต่ 0 ถึง 1.
| พารามิเตอร์ | | expr | number | นิพจน์ที่ใช้จัดอันดับ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | allPercentRank(Duration) → อันดับเปอร์เซ็นไทล์ (0-1) |
ตรวจจับการเปลี่ยนแปลงของค่า
ตรวจจับเมื่อค่าระหว่างเหตุการณ์เปลี่ยนไป.
changed
(expr) คืนค่า true หากค่าของนิพจน์แตกต่างจากเหตุการณ์ก่อนหน้า.
| พารามิเตอร์ | | expr | any | นิพจน์ที่ใช้ตรวจสอบการเปลี่ยนแปลง | |
| ค่าที่ส่งกลับ | ค่าบูลีน |
| ตัวอย่าง | changed(Resource) → เป็น true หากทรัพยากรเปลี่ยนจากเหตุการณ์ก่อนหน้า |
caseChanges
(expr) นับจำนวนครั้งที่ค่าเปลี่ยนแปลงในทุกเหตุการณ์ของเคส.
| พารามิเตอร์ | | expr | any | นิพจน์ที่ใช้ตรวจสอบการเปลี่ยนแปลง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseChanges(Resource) → จำนวนครั้งที่มีการส่งต่องานระหว่างทรัพยากรในเคส |
| หมายเหตุ | ยังไม่รองรับในนิพจน์ที่ใช้ Athena สำหรับคิวรี backend ให้ใช้ changed(expr) ร่วมกับ caseCountIf(...) ในแอตทริบิวต์ที่คำนวณขึ้น. |
การรวมค่าแบบสะสมตามเงื่อนไข
คำนวณค่ารวมแบบสะสมตามเงื่อนไขจนถึงเหตุการณ์ปัจจุบัน.
caseRunningSumIf
(expr, condition) รวมค่าตามเงื่อนไขสะสมจนถึงเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | | expr | number | นิพจน์ที่ต้องการรวมค่า | | condition | boolean | เงื่อนไขสำหรับกรองเหตุการณ์ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseRunningSumIf(Amount, Status == "Paid") → ยอดรวม Amount สะสมของเหตุการณ์ที่ Status เป็น Paid |
caseRunningCountIf
(condition) นับจำนวนตามเงื่อนไขสะสมจนถึงเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | | condition | boolean | เงื่อนไขที่ใช้ในการนับ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseRunningCountIf(Activity == "Error") → จำนวนกิจกรรม Error สะสม |
caseRunningAvgIf
(expr, condition) คำนวณค่าเฉลี่ยตามเงื่อนไขสะสมจนถึงเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | | expr | number | นิพจน์ที่ต้องการหาค่าเฉลี่ย | | condition | boolean | เงื่อนไขสำหรับกรองเหตุการณ์ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseRunningAvgIf(Duration, Priority == "High") → ระยะเวลาเฉลี่ยสะสมของเหตุการณ์ที่มี Priority สูง |
คุณสมบัติเกี่ยวกับเวลาที่ผ่านไป
คุณสมบัติสำหรับวัดความคืบหน้าและเวลาที่ผ่านไปภายในเคส.
elapsedSinceStart
Property เวลาที่ผ่านไปนับจากเริ่มเคส หน่วยเป็นมิลลิวินาที.
remainingInCase
Property เวลาที่เหลือจนกว่าเคสจะสิ้นสุด หน่วยเป็นมิลลิวินาที.
percentComplete
Property ความคืบหน้าของเคสในรูปเศษส่วนตั้งแต่ 0 ถึง 1.
ฟังก์ชันรวมค่าแบบมีเงื่อนไขเพิ่มเติม
ฟังก์ชันรวมค่าแบบมีเงื่อนไขเพิ่มเติมสำหรับมัธยฐาน ส่วนเบี่ยงเบนมาตรฐาน และการนับค่าไม่ซ้ำ.
caseMedianIf
(expr, condition) คำนวณมัธยฐานแบบมีเงื่อนไขจากเหตุการณ์ในเคสที่ตรงตามเงื่อนไข.
| พารามิเตอร์ | | expr | number | นิพจน์ค่า | | condition | boolean | เงื่อนไขการกรอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseMedianIf(Amount, Activity == "Review") → มัธยฐานของ Amount สำหรับกิจกรรม Review |
allMedianIf
(expr, condition) คำนวณมัธยฐานแบบมีเงื่อนไขจากเหตุการณ์ทั้งหมดที่ตรงตามเงื่อนไข.
| พารามิเตอร์ | | expr | number | นิพจน์ค่า | | condition | boolean | เงื่อนไขการกรอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | allMedianIf(Amount, Status == "Complete") → มัธยฐานโดยรวมของเหตุการณ์ที่เสร็จสมบูรณ์ |
caseStdDevIf
(expr, condition) คำนวณส่วนเบี่ยงเบนมาตรฐานแบบมีเงื่อนไขจากเหตุการณ์ในเคส.
| พารามิเตอร์ | | expr | number | นิพจน์ค่า | | condition | boolean | เงื่อนไขการกรอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseStdDevIf(Duration, Activity == "Review") → ส่วนเบี่ยงเบนมาตรฐานของระยะเวลากิจกรรม Review ในเคส |
allStdDevIf
(expr, condition) คำนวณส่วนเบี่ยงเบนมาตรฐานแบบมีเงื่อนไขจากเหตุการณ์ทั้งหมด.
| พารามิเตอร์ | | expr | number | นิพจน์ค่า | | condition | boolean | เงื่อนไขการกรอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | allStdDevIf(Amount, Priority == "High") → ส่วนเบี่ยงเบนมาตรฐานโดยรวมสำหรับรายการ Priority สูง |
caseCountDistinctIf
(expr, condition) นับค่าที่ไม่ซ้ำตามเงื่อนไขจากเหตุการณ์ในเคส.
| พารามิเตอร์ | | expr | any | นิพจน์ค่า | | condition | boolean | เงื่อนไขการกรอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseCountDistinctIf(Category, Amount > 100) → หมวดหมู่ที่ไม่ซ้ำซึ่งมียอดสูง |
allCountDistinctIf
(expr, condition) นับค่าที่ไม่ซ้ำตามเงื่อนไขจากเหตุการณ์ทั้งหมด.
| พารามิเตอร์ | | expr | any | นิพจน์ค่า | | condition | boolean | เงื่อนไขการกรอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | allCountDistinctIf(User, Department == "Sales") → ผู้ใช้ที่ไม่ซ้ำในแผนก Sales |
ฟังก์ชันรวมค่าแบบสะสมเพิ่มเติม
ฟังก์ชันรวมค่าแบบสะสมเพิ่มเติมสำหรับมัธยฐาน ส่วนเบี่ยงเบนมาตรฐาน และค่าต่ำสุดกับค่าสูงสุดตามเงื่อนไข.
caseRunningMedian
(expr) คำนวณมัธยฐานสะสมของค่าจนถึงเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseRunningMedian(Amount) → มัธยฐาน Amount แบบสะสม |
caseRunningStdDev
(expr) คำนวณส่วนเบี่ยงเบนมาตรฐานสะสมจนถึงเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseRunningStdDev(Amount) → ส่วนเบี่ยงเบนมาตรฐานแบบสะสม |
caseRunningMinIf
(expr, condition) หาค่าต่ำสุดแบบมีเงื่อนไขสะสมจนถึงเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | | expr | number | นิพจน์ค่า | | condition | boolean | เงื่อนไขการกรอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseRunningMinIf(Amount, Activity == "Review") → ค่าต่ำสุดสะสมของ Amount ในกิจกรรม Review |
caseRunningMaxIf
(expr, condition) หาค่าสูงสุดแบบมีเงื่อนไขสะสมจนถึงเหตุการณ์ปัจจุบัน.
| พารามิเตอร์ | | expr | number | นิพจน์ค่า | | condition | boolean | เงื่อนไขการกรอง | |
| ค่าที่ส่งกลับ | ตัวเลข |
| ตัวอย่าง | caseRunningMaxIf(Amount, Priority == "High") → ค่าสูงสุดสะสมสำหรับรายการ Priority สูง |
6. ฟังก์ชัน JSON
7. หัวข้อที่เกี่ยวข้อง