CURRENTGROUP คืนตารางย่อยของกลุ่มปัจจุบันและใช้ได้เฉพาะภายใน GROUPBY ช่วยให้คำนวณค่าที่อิงแถวภายในกลุ่มได้ เช่น SUMX/COUNTROWS/ MAXX ของกลุ่มนั้น
=CURRENTGROUP()
=CURRENTGROUP()
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| (none) | none | Optional | ไม่มีอาร์กิวเมนต์ ใช้เรียกฟังก์ชันโดยตรง |
เช่น รวมยอดในแต่ละกลุ่มที่ GROUPBY แบ่งไว้
เช่น นับจำนวนรายการในกลุ่ม เพื่อใช้ทำสรุปต่อกลุ่ม
Sales By Customer = GROUPBY( Sales, Sales[CustomerID], "Group Amount", SUMX( CURRENTGROUP(), Sales[Amount] ) )Sales By Customer =
GROUPBY(
Sales,
Sales[CustomerID],
"Group Amount",
SUMX(
CURRENTGROUP(),
Sales[Amount]
)
)
ได้ตารางสรุปยอดต่อ CustomerID
Rows By Customer = GROUPBY( Sales, Sales[CustomerID], "Row Count", COUNTROWS(CURRENTGROUP()) )Rows By Customer =
GROUPBY(
Sales,
Sales[CustomerID],
"Row Count",
COUNTROWS(CURRENTGROUP())
)
ได้จำนวนแถวในแต่ละกลุ่ม
Max Amount By Customer = GROUPBY( Sales, Sales[CustomerID], "Max Amount", MAXX(CURRENTGROUP(), Sales[Amount]) )Max Amount By Customer =
GROUPBY(
Sales,
Sales[CustomerID],
"Max Amount",
MAXX(CURRENTGROUP(), Sales[Amount])
)
ได้ค่าสูงสุดของ Amount ภายในแต่ละกลุ่ม
ใช้ได้เฉพาะภายในนิพจน์ของ GROUPBY เท่านั้น เพราะมันอ้างอิงกลุ่มที่ GROUPBY กำลังประมวลผลอยู่
เพราะ CURRENTGROUP() คืนค่าเป็นตาราง คุณจึงมักต้องใช้ iterator เพื่อประเมิน/สรุปค่าจากหลายแถวในตารางย่อยนั้น
CURRENTGROUP ใช้ได้เฉพาะภายใน GROUPBY เพื่ออ้างอิง “ตารางย่อย” ของกลุ่มที่กำลังประมวลผลอยู่ (แถวทั้งหมดในกลุ่มนั้น) ทำให้คุณสามารถคำนวณค่าที่ต้องอาศัยแถวภายในกลุ่ม เช่น ผลรวม/จำนวนแถว/ค่าสูงสุด ภายใต้กลุ่มนั้นได้