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 เพื่อสร้างสรุปยอดขายรวมตามผลิตภัณฑ์ เรียงลําดับจากมากไปหาน้อยตามยอดขาย