อ่านในภาษาอังกฤษ

แชร์ผ่าน


สรุป

นําไปใช้กับ: การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดภาพการคํานวณ

แสดงตารางสรุปสําหรับผลรวมที่ร้องขอในชุดกลุ่ม

ไวยากรณ์

SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)

พารามิเตอร์

เงื่อนไข คำนิยาม
table นิพจน์ DAX ใด ๆ ที่แสดงตารางของข้อมูล
groupBy_ColumnName (ไม่บังคับ) ชื่อที่ตรงตามหลักเกณฑ์ของคอลัมน์ที่มีอยู่ที่ใช้ในการสร้างกลุ่มข้อมูลสรุปโดยยึดตามค่าที่พบในนั้น พารามิเตอร์นี้ไม่สามารถเป็นนิพจน์ได้
name ชื่อที่กําหนดให้กับคอลัมน์ผลรวมหรือข้อมูลสรุป ซึ่งอยู่ในอัญประกาศคู่
expression นิพจน์ DAX ใด ๆ ที่แสดงเป็นค่าสเกลาเดียว ซึ่งจะมีการประเมินนิพจน์หลายครั้ง (สําหรับแต่ละแถว/บริบท)

ค่าที่ส่งกลับ

ตารางที่มีคอลัมน์ที่เลือกสําหรับอาร์กิวเมนต์ groupBy_columnName และคอลัมน์สรุปที่ออกแบบโดยอาร์กิวเมนต์ชื่อ

หมายเหตุ

  • แต่ละคอลัมน์ที่คุณกําหนดชื่อต้องมีนิพจน์ที่สอดคล้องกัน มิฉะนั้น จะส่งกลับข้อผิดพลาด อาร์กิวเมนต์แรก "ชื่อ" จะกําหนดชื่อของคอลัมน์ในผลลัพธ์ อาร์กิวเมนต์ที่สอง นิพจน์ จะกําหนดการคํานวณที่ดําเนินการเพื่อให้ได้ค่าสําหรับแต่ละแถวในคอลัมน์นั้น

  • groupBy_columnName ต้องอยู่ใน table หรือในตารางที่เกี่ยวข้องเพื่อ table

  • แต่ละชื่อต้องอยู่ในเครื่องหมายอัญประกาศคู่

  • ฟังก์ชันจะจัดกลุ่มชุดของแถวที่เลือกเป็นชุดของแถวสรุปตามค่าของคอลัมน์ groupBy_columnName อย่างน้อยหนึ่งรายการ หนึ่งแถวจะถูกส่งกลับสําหรับแต่ละกลุ่ม

  • ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)

ตัวอย่าง

ตัวอย่างต่อไปนี้จะให้ผลลัพธ์เป็นข้อมูลสรุปของยอดขายของผู้ค้าปลีกที่จัดกลุ่มตามรอบปีปฏิทินและชื่อหมวดหมู่ของผลิตภัณฑ์ ตารางผลลัพธ์นี้ช่วยให้คุณสามารถวิเคราะห์ยอดขายของผู้ค้าปลีกตามปีและหมวดหมู่ของผลิตภัณฑ์ได้

SUMMARIZE(ResellerSales_USD  
      , DateTime[CalendarYear]  
      , ProductCategory[ProductCategoryName]  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
      )  

ตารางต่อไปนี้แสดงตัวอย่างของข้อมูลตามที่จะได้รับจากฟังก์ชันใด ๆ ที่คาดว่าจะได้รับตาราง:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Sales Amount (USD)] [Discount Amount (USD)]
2008 จักรยาน 12968255.42 36167.6592
2005 จักรยาน 6958251.043 4231.1621
2006 จักรยาน 18901351.08 178175.8399
2007 จักรยาน 24256817.5 276065.992
2008 คอมโพเนนต์ 2008052.706 39.9266
2005 คอมโพเนนต์ 574256.9865 0
2006 คอมโพเนนต์ 3428213.05 948.7674
2007 คอมโพเนนต์ 5195315.216 4226.0444
2008 เสื้อผ้า 366507.844 4151.1235
2005 เสื้อผ้า 31851.1628 90.9593
2006 เสื้อผ้า 455730.9729 4233.039
2007 เสื้อผ้า 815853.2868 12489.3835
2008 อุปกรณ์ 153299.924 865.5945
2005 อุปกรณ์ 18594.4782 4.293
2006 อุปกรณ์ 86612.7463 1061.4872
2007 อุปกรณ์ 275794.8403 4756.6546

มี ROLLUP

ส่วนเพิ่มเติมของ ไวยากรณ์ ROLLUP จะปรับเปลี่ยนลักษณะการทํางานของฟังก์ชัน SUMMARIZE โดยการเพิ่มแถวค่าสะสมไปยังผลลัพธ์บนคอลัมน์ groupBy_columnName สามารถใช้ ROLLUP ภายในนิพจน์ SUMMARIZE ได้เท่านั้น

ตัวอย่าง

ตัวอย่างต่อไปนี้เพิ่มแถวค่าสะสมไปยังคอลัมน์ Group-By ของการเรียกใช้ฟังก์ชัน SUMMARIZE:

SUMMARIZE(ResellerSales_USD  
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
)  

แสดงตารางต่อไปนี้

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Sales Amount (USD)] [Discount Amount (USD)]
2008 จักรยาน 12968255.42 36167.6592
2005 จักรยาน 6958251.043 4231.1621
2006 จักรยาน 18901351.08 178175.8399
2007 จักรยาน 24256817.5 276065.992
2008 คอมโพเนนต์ 2008052.706 39.9266
2005 คอมโพเนนต์ 574256.9865 0
2006 คอมโพเนนต์ 3428213.05 948.7674
2007 คอมโพเนนต์ 5195315.216 4226.0444
2008 เสื้อผ้า 366507.844 4151.1235
2005 เสื้อผ้า 31851.1628 90.9593
2006 เสื้อผ้า 455730.9729 4233.039
2007 เสื้อผ้า 815853.2868 12489.3835
2008 อุปกรณ์ 153299.924 865.5945
2005 อุปกรณ์ 18594.4782 4.293
2006 อุปกรณ์ 86612.7463 1061.4872
2007 อุปกรณ์ 275794.8403 4756.6546
2008 15496115.89 41224.3038
2005 7582953.67 4326.4144
2006 22871907.85 184419.1335
2007 30543780.84 297538.0745
76494758.25 527507.9262

ที่มี ROLLUPGROUP

การเพิ่ม ROLLUPGROUP ภายใน ไวยากรณ์ ROLLUP สามารถใช้เพื่อป้องกันผลรวมย่อยบางส่วนในแถวค่าสะสม ROLLUPGROUP สามารถใช้ได้ภายในนิพจน์ ROLLUP, ROLLUPADDISSUBTOTAL หรือ ROLLUPISSUBTOTAL เท่านั้น

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงเฉพาะยอดรวมทั้งหมดของปีและหมวดหมู่โดยไม่มีผลรวมย่อยของแต่ละปีกับหมวดหมู่ทั้งหมด:

SUMMARIZE(ResellerSales_USD  
      , ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
)  

แสดงตารางต่อไปนี้

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Sales Amount (USD)] [Discount Amount (USD)]
2008 จักรยาน 12968255.42 36167.6592
2005 จักรยาน 6958251.043 4231.1621
2006 จักรยาน 18901351.08 178175.8399
2007 จักรยาน 24256817.5 276065.992
2008 คอมโพเนนต์ 2008052.706 39.9266
2005 คอมโพเนนต์ 574256.9865 0
2006 คอมโพเนนต์ 3428213.05 948.7674
2007 คอมโพเนนต์ 5195315.216 4226.0444
2008 เสื้อผ้า 366507.844 4151.1235
2005 เสื้อผ้า 31851.1628 90.9593
2006 เสื้อผ้า 455730.9729 4233.039
2007 เสื้อผ้า 815853.2868 12489.3835
2008 อุปกรณ์ 153299.924 865.5945
2005 อุปกรณ์ 18594.4782 4.293
2006 อุปกรณ์ 86612.7463 1061.4872
2007 อุปกรณ์ 275794.8403 4756.6546
76494758.25 527507.9262

ที่มี ISSUBTOTAL

ด้วย ฟังก์ชัน ISSUBTOTAL คุณสามารถสร้างคอลัมน์อื่นในนิพจน์ SUMMARIZE ซึ่งให้ผลลัพธ์เป็น True ถ้าแถวมีค่าผลรวมย่อยสําหรับคอลัมน์ที่ระบุเป็นอาร์กิวเมนต์ไปยัง ISSUBTOTAL หรือระบบจะให้ผลลัพธ์เป็น False ถ้าเป็นอย่างอื่น สามารถใช้ ISSUBTOTAL ภายในนิพจน์ SUMMARIZE ได้เท่านั้น

ตัวอย่าง

ตัวอย่างต่อไปนี้สร้าง คอลัมน์ ISSUBTOTAL สําหรับแต่ละ คอลัมน์ ROLLUP ในการเรียกใช้ฟังก์ชัน SUMMARIZE ที่ระบุ:

SUMMARIZE(ResellerSales_USD  
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])  
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])  
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])  
      , "Is Sub Total for DateTimeCalendarYear", ISSUBTOTAL(DateTime[CalendarYear])  
      , "Is Sub Total for ProductCategoryName", ISSUBTOTAL(ProductCategory[ProductCategoryName])  
)  

แสดงตารางต่อไปนี้

[Is Sub Total for DateTimeCalendarYear] [Is Sub Total for ProductCategoryName] DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Sales Amount (USD)] [Discount Amount (USD)]
FALSE FALSE
FALSE FALSE 2008 จักรยาน 12968255.42 36167.6592
FALSE FALSE 2005 จักรยาน 6958251.043 4231.1621
FALSE FALSE 2006 จักรยาน 18901351.08 178175.8399
FALSE FALSE 2007 จักรยาน 24256817.5 276065.992
FALSE FALSE 2008 คอมโพเนนต์ 2008052.706 39.9266
FALSE FALSE 2005 คอมโพเนนต์ 574256.9865 0
FALSE FALSE 2006 คอมโพเนนต์ 3428213.05 948.7674
FALSE FALSE 2007 คอมโพเนนต์ 5195315.216 4226.0444
FALSE FALSE 2008 เสื้อผ้า 366507.844 4151.1235
FALSE FALSE 2005 เสื้อผ้า 31851.1628 90.9593
FALSE FALSE 2006 เสื้อผ้า 455730.9729 4233.039
FALSE FALSE 2007 เสื้อผ้า 815853.2868 12489.3835
FALSE FALSE 2008 อุปกรณ์ 153299.924 865.5945
FALSE FALSE 2005 อุปกรณ์ 18594.4782 4.293
FALSE FALSE 2006 อุปกรณ์ 86612.7463 1061.4872
FALSE FALSE 2007 อุปกรณ์ 275794.8403 4756.6546
FALSE TRUE
FALSE TRUE 2008 15496115.89 41224.3038
FALSE TRUE 2005 7582953.67 4326.4144
FALSE TRUE 2006 22871907.85 184419.1335
FALSE TRUE 2007 30543780.84 297538.0745
TRUE TRUE 76494758.25 527507.9262

SUMMARIZECOLUMNS