ฟังก์ชัน GROUPBY ช่วยให้คุณสามารถสร้างสรุปข้อมูลของคุณผ่านสูตรได้ ซึ่งสนับสนุนการจัดกลุ่มตามแกนหนึ่งและการรวมค่าที่เกี่ยวข้อง ตัวอย่างเช่น ถ้าคุณมีตารางข้อมูลยอดขาย คุณอาจสร้างสรุปยอดขายตามปี
ไวยากรณ์
ฟังก์ชัน GROUPBY ช่วยให้คุณสามารถจัดกลุ่ม รวม เรียงลําดับ และกรองข้อมูลโดยยึดตามเขตข้อมูลที่คุณระบุ
ไวยากรณ์ของฟังก์ชัน GROUPBY คือ
GROUPBY(row_fields,values,function,[field_headers],[total_depth],[sort_order],[filter_array],[field_relationship])
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
|
row_fields (ต้องระบุ) |
อาร์เรย์หรือช่วงที่วางแนวคอลัมน์ที่มีค่าที่ใช้จัดกลุ่มแถวและสร้างส่วนหัวของแถว อาร์เรย์หรือช่วงอาจมีหลายคอลัมน์ ถ้าเป็นเช่นนั้น ผลลัพธ์จะมีระดับกลุ่มแถวหลายระดับ |
|
ค่า (ต้องระบุ) |
อาร์เรย์ที่วางแนวคอลัมน์หรือช่วงของข้อมูลที่จะรวม อาร์เรย์หรือช่วงอาจมีหลายคอลัมน์ ถ้าเป็นเช่นนั้น ผลลัพธ์จะมีการรวมหลายค่า |
|
ฟังก์ชัน (ต้องระบุ) |
Lambda ที่ชัดแจ้งหรือ eta ที่ลดลง (SUM, PERCENTOF, AVERAGE, COUNT และอื่นๆ) ที่ใช้ในการรวมค่า เวกเตอร์ของ lambdas สามารถให้ได้ ถ้าเป็นเช่นนั้น ผลลัพธ์จะมีการรวมหลายค่า การวางแนวของเวกเตอร์จะกําหนดว่าจะวางแถวหรือคอลัมน์ |
| field_headers | ตัวเลขที่ระบุว่า row_fields และ ค่า มีส่วนหัวหรือไม่ และควรส่งกลับส่วนหัวของเขตข้อมูลในผลลัพธ์หรือไม่ ค่าที่เป็นไปได้คือ: หายไป: อัตโนมัติ (ค่าเริ่มต้น) 0: ไม่ใช่ 1: ใช่และไม่แสดง 2: ไม่มี แต่สร้าง 3: ใช่และแสดง หมาย เหตุ: Automatic สมมติว่าข้อมูลมีส่วนหัวโดยยึดตามอาร์กิวเมนต์ค่า ถ้าค่าที่ 1 เป็นข้อความและค่าที่ 2 เป็นตัวเลข ข้อมูลจะถือว่ามีส่วนหัว ส่วนหัวของเขตข้อมูลจะแสดงขึ้นถ้ามีระดับกลุ่มแถวหรือคอลัมน์หลายระดับ |
| total_depth | กําหนดว่าส่วนหัวของแถวควรมีผลรวมหรือไม่ ค่าที่เป็นไปได้คือ: หายไป: อัตโนมัติ: ผลรวมทั้งหมด และถ้าเป็นไปได้ ผลรวมย่อย (ค่าเริ่มต้น) 0: ไม่มีผลรวม 1: ผลรวมทั้งหมด 2: ผลรวมย่อยและยิ่งใหญ่ -1: ผลรวมทั้งหมดที่ด้านบน -2: แกรนด์และผลรวมย่อยที่ด้านบน หมาย เหตุ: สําหรับผลรวมย่อย เขตข้อมูล ต้องมีอย่างน้อย 2 คอลัมน์ ตัวเลขที่มีค่ามากกว่า 2 จะได้รับการสนับสนุน เขตข้อมูล ที่มีคอลัมน์เพียงพอ |
| sort_order | ตัวเลขที่ระบุว่าควรเรียงลําดับแถวอย่างไร ตัวเลขสอดคล้องกับคอลัมน์ใน row_fields ตามด้วยคอลัมน์ในค่า ถ้าจํานวนเป็นลบ แถวจะถูกเรียงลําดับจากมากไปหาน้อย/ย้อนกลับ เวกเตอร์ของตัวเลขสามารถให้ได้เมื่อเรียงลําดับตาม row_fields เท่านั้น |
| filter_array | อาร์เรย์ 1D ที่วางแนวคอลัมน์ของบูลีนซึ่งระบุว่าควรพิจารณาแถวข้อมูลที่สอดคล้องกันหรือไม่ หมาย เหตุ: ความยาวของอาร์เรย์ต้องตรงกับความยาวของอาร์เรย์ที่ระบุให้กับ row_fields |
| field_relationship | ระบุเขตข้อมูลความสัมพันธ์เมื่อมีการให้ row_fields หลายคอลัมน์ ค่าที่เป็นไปได้คือ: 0: ลําดับชั้น (ค่าเริ่มต้น) 1: ตาราง ด้วยความสัมพันธ์ของเขตข้อมูลลําดับชั้น (0) การเรียงลําดับคอลัมน์เขตข้อมูลในภายหลังจะคํานึงถึงลําดับชั้นของคอลัมน์ก่อนหน้า ด้วยความสัมพันธ์ของเขตข้อมูลตาราง (1) การเรียงลําดับของแต่ละคอลัมน์เขตข้อมูลจะกระทําอย่างอิสระ ผลรวมย่อยไม่ได้รับการสนับสนุนเนื่องจากต้องพึ่งพาข้อมูลที่มีลําดับชั้น |
ตัวอย่าง
ตัวอย่างที่ 1: ใช้ GROUPBY เพื่อสร้างสรุปยอดขายรวมตามปี
ตัวอย่างที่ 2: ใช้ GROUPBY เพื่อสร้างสรุปยอดขายรวมตามผลิตภัณฑ์ เรียงลําดับจากมากไปหาน้อยตามยอดขาย