ฟังก์ชัน 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 เป็นต้น) ที่ใช้เพื่อรวมค่า สามารถจัดเตรียมเวกเตอร์ของแลมบ์ดาได้ ถ้าเป็นเช่นนั้น ผลลัพธ์จะมีการรวมหลายรายการ การวางแนวของเวกเตอร์จะเป็นตัวกําหนดว่าพวกเขาจะถูกจัดวางตามแถวหรือคอลัมน์ |
| field_headers | ตัวเลขที่ระบุว่า row_fields และค่ามีส่วนหัวหรือไม่ และควรส่งกลับส่วนหัวของเขตข้อมูลในผลลัพธ์หรือไม่ ค่าที่เป็นไปได้คือ: หายไป: อัตโนมัติ (ค่าเริ่มต้น) 0: ไม่ 1: ใช่และไม่แสดง 2: ไม่แต่สร้าง 3: ใช่และแสดง หมายเหตุ: Automatic จะถือว่าข้อมูลมีส่วนหัวตามอาร์กิวเมนต์ values ถ้าค่าที่ 1 เป็นข้อความและค่าที่ 2 เป็นตัวเลข ข้อมูลจะถูกถือว่ามีส่วนหัว ส่วนหัวของเขตข้อมูลจะแสดงขึ้นถ้ามีระดับแถวหรือกลุ่มคอลัมน์หลายระดับ |
| total_depth | กําหนดว่าส่วนหัวของแถวควรมีผลรวมหรือไม่ ค่าที่เป็นไปได้คือ: หายไป: อัตโนมัติ: ผลรวมทั้งหมด และถ้าเป็นไปได้ ผลรวมย่อย (ค่าเริ่มต้น) 0: ไม่มีผลรวม 1: ผลรวมทั้งหมด 2: ผลรวมทั้งหมดและผลรวมย่อย -1: ผลรวมทั้งหมดที่ด้านบน -2: ผลรวมทั้งหมดและผลรวมย่อยที่ด้านบน หมายเหตุ: สําหรับผลรวมย่อย เขตข้อมูล ต้องมีอย่างน้อย 2 คอลัมน์ ตัวเลขที่มากกว่า 2 ได้รับการสนับสนุน ถ้า เขตข้อมูล มีคอลัมน์เพียงพอ |
| sort_order | ตัวเลขที่ระบุวิธีที่แถวควรเรียงลําดับ ตัวเลขจะสอดคล้องกับคอลัมน์ใน row_fields ตามด้วยคอลัมน์ในค่า ถ้าตัวเลขเป็นค่าลบ แถวจะถูกเรียงลําดับจากมากไปหาน้อย/ย้อนกลับ สามารถระบุเวกเตอร์ของตัวเลขได้เมื่อเรียงลําดับตาม row_fields เท่านั้น |
| filter_array | อาร์เรย์ 1 มิติของบูลีนที่เน้นคอลัมน์ที่ระบุว่าควรพิจารณาแถวข้อมูลที่เกี่ยวข้องหรือไม่ หมายเหตุ: ความยาวของอาร์เรย์ต้องตรงกับความยาวที่ระบุให้ row_fields |
| field_relationship | ระบุเขตข้อมูลความสัมพันธ์เมื่อมีการระบุหลายคอลัมน์ให้กับ row_fields ค่าที่เป็นไปได้คือ: 0: ลําดับชั้น (ค่าเริ่มต้น) 1: ตาราง ด้วยความสัมพันธ์เขตข้อมูลลําดับชั้น (0) การเรียงลําดับคอลัมน์เขตข้อมูลลําดับถัดไปจะคํานึงถึงลําดับชั้นของคอลัมน์ก่อนหน้า ด้วยความสัมพันธ์เขตข้อมูลตาราง (1) การเรียงลําดับแต่ละคอลัมน์ของเขตข้อมูลจะเสร็จสิ้นอย่างอิสระ ผลรวมย่อยไม่ได้รับการสนับสนุน เนื่องจากมีผลรวมย่อยต้องอาศัยข้อมูลที่มีลําดับชั้น |
ตัวอย่าง
ตัวอย่างที่ 1: ใช้ GROUPBY เพื่อสร้างสรุปยอดขายรวมตามปี
ตัวอย่างที่ 2: ใช้ GROUPBY เพื่อสร้างสรุปยอดขายรวมตามผลิตภัณฑ์ เรียงลําดับจากมากไปหาน้อยตามยอดขาย