กิจกรรม
เข้าร่วมกับเราที่ FabCon Vegas
31 มี.ค. 23 - 2 เม.ย. 23
เหตุการณ์ที่นําโดยชุมชนของ Microsoft Fabric, Power BI, SQL และ AI 31 มีนาคมถึงวันที่ 2 เมษายน 2025
ลงทะเบียนวันนี้เบราว์เซอร์นี้ไม่ได้รับการสนับสนุนอีกต่อไป
อัปเกรดเป็น Microsoft Edge เพื่อใช้ประโยชน์จากคุณลักษณะล่าสุด เช่น การอัปเดตความปลอดภัยและการสนับสนุนด้านเทคนิค
นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณหน่วยวัดการคํานวณวิชวล
แสดงแถวทั้งหมดในตาราง หรือค่าทั้งหมดในคอลัมน์ โดยไม่สนใจตัวกรองใดๆ ที่อาจใช้อยู่ ฟังก์ชันนี้มีประโยชน์สําหรับการล้างตัวกรองและสร้างการคํานวณบนแถวทั้งหมดในตาราง
ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
เทอม | นิยาม |
---|---|
table |
ตารางที่คุณต้องการล้างตัวกรอง |
column |
คอลัมน์ที่คุณต้องการล้างตัวกรอง |
อาร์กิวเมนต์ของฟังก์ชัน ALL ต้องเป็นการอ้างอิงไปยังตารางฐานหรือการอ้างอิงไปยังคอลัมน์ฐาน คุณไม่สามารถใช้นิพจน์ตารางหรือนิพจน์คอลัมน์กับฟังก์ชัน ALL ได้
ตารางหรือคอลัมน์ที่มีตัวกรองถูกลบออก
ฟังก์ชันนี้ไม่ได้ถูกใช้ด้วยตัวเอง แต่ทําหน้าที่เป็นฟังก์ชันขั้นกลางที่สามารถใช้ในการเปลี่ยนชุดผลลัพธ์ที่ดําเนินการคํานวณอื่น ๆ
ลักษณะการทํางานปกติสําหรับนิพจน์ DAX ที่มีฟังก์ชัน ALL() คือตัวกรองใดก็ตามที่ใช้จะถูกละเว้น อย่างไรก็ตาม มีบางสถานการณ์ที่นี่ไม่ใช่กรณีเนื่องจาก auto-exist
เทคโนโลยี DAX ที่ปรับการกรองให้เหมาะสมเพื่อลดจํานวนการประมวลผลที่จําเป็นสําหรับคิวรี DAX บางรายการ ตัวอย่างที่ซึ่ง auto-exist และ ALL() ให้ผลลัพธ์ที่ไม่คาดคิดคือเมื่อกรองในคอลัมน์สองคอลัมน์ขึ้นไปในตารางเดียวกัน (เช่นเมื่อใช้ตัวแบ่งส่วนข้อมูล) และมีหน่วยวัดบนตารางเดียวกันนั้นที่ใช้ ALL() ในกรณีนี้ auto-exist จะผสาน ผสาน ตัวกรองหลายตัวเป็นหนึ่งรายการและจะกรองเฉพาะชุดค่าที่มีอยู่เท่านั้น เนื่องจากการผสานนี้ หน่วยวัดจะถูกคํานวณในชุดของค่าที่มีอยู่และผลลัพธ์จะขึ้นอยู่กับค่าที่ถูกกรองแทนค่าทั้งหมดตามที่คาดไว้ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ auto-exist และผลกระทบต่อการคํานวณ โปรดดูที่บทความ การทําความเข้าใจ
ตารางต่อไปนี้อธิบายวิธีที่คุณสามารถใช้ฟังก์ชัน ALL และ ALLEXCEPT ในสถานการณ์ที่แตกต่างกัน
ฟังก์ชันและการใช้งาน | คำอธิบาย |
---|---|
ALL() | ลบตัวกรองทั้งหมดออกจากทุกที่ ALL() สามารถใช้เพื่อล้างตัวกรองเท่านั้น แต่จะไม่ส่งกลับตาราง |
ALL(Table) | ลบตัวกรองทั้งหมดออกจากตารางที่ระบุ ดังนั้น ALL(Table) จะแสดงค่าทั้งหมดในตาราง โดยลบตัวกรองใดก็ตามออกจากบริบทที่อาจเคยมีการนําไปใช้ ฟังก์ชันนี้มีประโยชน์เมื่อคุณทํางานกับการจัดกลุ่มหลายระดับ และต้องการสร้างการคํานวณที่สร้างอัตราส่วนของค่ารวมต่อค่าทั้งหมด ตัวอย่างแรกแสดงให้เห็นถึงสถานการณ์นี้ |
ALL (Column[, Column[, ...]]) | ลบตัวกรองทั้งหมดออกจากคอลัมน์ที่ระบุในตาราง ตัวกรองอื่น ๆ ทั้งหมดบนคอลัมน์อื่น ๆ ในตารางยังคงใช้งานอยู่ อาร์กิวเมนต์ของคอลัมน์ทั้งหมดต้องมาจากตารางเดียวกัน ตัวแปร ALL(Column) มีประโยชน์เมื่อคุณต้องการลบตัวกรองบริบทสําหรับคอลัมน์ที่ระบุอย่างน้อยหนึ่งคอลัมน์และเก็บตัวกรองบริบทอื่น ๆ ทั้งหมด ตัวอย่างที่สองและสามแสดงให้เห็นถึงสถานการณ์นี้ |
ALLEXCEPT(Table, Column1 [,Column2]...) | ลบตัวกรองบริบททั้งหมดในตาราง ยกเว้นตัวกรองที่ถูกนําไปใช้กับคอลัมน์ที่ระบุ นี่คือทางลัดที่สะดวกสําหรับสถานการณ์ที่คุณต้องการลบตัวกรองในคอลัมน์จํานวนมาก แต่ไม่ใช่คอลัมน์ทั้งหมดในตาราง |
ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)
คํานวณอัตราส่วนของ Category Sales (ยอดขายตามหมวดหมู่) ต่อ Total Sales (ยอดขายทั้งหมด)
สมมติว่าคุณต้องการค้นหาปริมาณยอดขายสําหรับเซลล์ปัจจุบันใน PivotTable ของคุณ ให้หารด้วยยอดขายทั้งหมดสําหรับผู้จําหน่ายทั้งหมด เพื่อให้แน่ใจว่าตัวหารเหมือนกันโดยไม่คํานึงถึงว่าผู้ใช้ PivotTable อาจกรองหรือจัดกลุ่มข้อมูลอย่างไร ให้คุณกําหนดสูตรที่ใช้ ALL เพื่อสร้างผลรวมทั้งหมดที่ถูกต้อง
ตารางต่อไปนี้แสดงผลลัพธ์เมื่อมีการสร้างหน่วยวัดใหม่ อัตราส่วนการขายของผู้จําหน่ายทั้งหมดโดยใช้สูตรที่แสดงในส่วนโค้ด เมื่อต้องการดูวิธีการทํางาน ให้เพิ่มเขตข้อมูล CalendarYear ลงในพื้นที่ Row Labels ของ PivotTable และเพิ่มเขตข้อมูล ProductCategoryName ลงในพื้นที่ Column Labels จากนั้นลากหน่วยวัด อัตราส่วนการขายของผู้จําหน่ายทั้งหมดไปยังพื้นที่ ค่า ของ Pivot Table หากต้องการดูผลลัพธ์เป็นเปอร์เซ็นต์ ให้ใช้คุณลักษณะการจัดรูปแบบของ Excel เพื่อใช้การจัดรูปแบบตัวเลขเปอร์เซ็นต์กับเซลล์ที่มีหน่วยวัด
ป้ายชื่อแถว | อุปกรณ์ เสริม | จักรยาน | เสื้อผ้า | คอม โพ เนนต์ | ผลรวมทั้งหมด |
---|---|---|---|---|---|
2005 | 0.02% | 9.10% | 0.04% | 0.75% | 9.91% |
2006 | 0.11% | 24.71% | 0.60% | 4.48% | 29.90% |
2007 | 0.36% | 31.71% | 1.07% | 6.79% | 39.93% |
2008 | 0.20% | 16.95% | 0.48% | 2.63% | 20.26% |
ผลรวมทั้งหมด | 0.70% | 82.47% | 2.18% | 14.65% | 100.00% |
สูตร
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
สูตรจะถูกสร้างขึ้นดังนี้:
ตัวเศษ SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
คือผลรวมของค่าใน ResellerSales_USD[SalesAmount_USD] สําหรับเซลล์ปัจจุบันใน PivotTable โดยใช้ตัวกรองบริบทที่ใช้กับ CalendarYear และ ProductCategoryName
สําหรับตัวหาร คุณเริ่มต้นด้วยการระบุตาราง ResellerSales_USD และใช้ฟังก์ชัน ALL เพื่อลบตัวกรองบริบททั้งหมดบนตาราง
จากนั้นคุณใช้ฟังก์ชัน SUMX เพื่อรวมค่าในคอลัมน์ ResellerSales_USD[SalesAmount_USD] กล่าวอีกนัยหนึ่งคุณจะได้รับผลรวมของ ResellerSales_USD[SalesAmount_USD] สําหรับยอดขายของผู้จําหน่ายทั้งหมด
คํานวณอัตราส่วนของยอดขายผลิตภัณฑ์ (Ratio of Product Sales) ต่อยอดขายทั้งหมดตลอดปีปัจจุบัน (Total Sales Through Current Year)
สมมติว่าคุณต้องการสร้างตารางที่แสดงเปอร์เซ็นต์ของยอดขายเมื่อเปรียบเทียบกับปีที่ผ่านมาสําหรับแต่ละหมวดหมู่ผลิตภัณฑ์ (ProductCategoryName) เพื่อให้ได้ค่าเปอร์เซ็นต์สําหรับค่า ProductCategoryName แต่ละค่าในแต่ละปี คุณจะต้องหารผลรวมของยอดขายสําหรับปีนั้นๆ และหมวดหมู่ผลิตภัณฑ์นั้นตามผลรวมของยอดขายสําหรับหมวดหมู่ผลิตภัณฑ์เดียวกันตลอดทุกปี กล่าวอีกนัยหนึ่งคุณต้องการเก็บตัวกรองอยู่ใน ProductCategoryName แต่จะลบตัวกรองในปีที่มีการคํานวณตัวหารของเปอร์เซ็นต์
ตารางต่อไปนี้แสดงผลลัพธ์เมื่อมีการสร้างหน่วยวัดใหม่ ยอดขายของผู้จําหน่ายตามปีโดยใช้สูตรที่แสดงในส่วนโค้ด เมื่อต้องการดูวิธีการทํางาน ให้เพิ่มเขตข้อมูล CalendarYear ลงในพื้นที่ Row Labels ของ PivotTable และเพิ่มเขตข้อมูล ProductCategoryName ลงในพื้นที่ Column Labels หากต้องการดูผลลัพธ์เป็นเปอร์เซ็นต์ ให้ใช้คุณลักษณะการจัดรูปแบบของ Excel เพื่อนํารูปแบบตัวเลขเปอร์เซ็นต์ไปใช้กับเซลล์ที่มีหน่วยวัด ยอดขายของผู้จําหน่าย
ป้ายชื่อแถว | อุปกรณ์ เสริม | จักรยาน | เสื้อผ้า | คอม โพ เนนต์ | ผลรวมทั้งหมด |
---|---|---|---|---|---|
2005 | 3.48% | 11.03% | 1.91% | 5.12% | 9.91% |
2006 | 16.21% | 29.96% | 27.29% | 30.59% | 29.90% |
2007 | 51.62% | 38.45% | 48.86% | 46.36% | 39.93% |
2008 | 28.69% | 20.56% | 21.95% | 17.92% | 20.26% |
ผลรวมทั้งหมด | 100.00% | 100.00% | 100.00% | 100.00% | 100.00% |
สูตร
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))
สูตรจะถูกสร้างขึ้นดังนี้:
ตัวเศษ SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
คือผลรวมของค่าใน ResellerSales_USD[SalesAmount_USD] สําหรับเซลล์ปัจจุบันใน Pivot Table โดยใช้ตัวกรองบริบทที่ใช้กับคอลัมน์ CalendarYear และ ProductCategoryName
สําหรับตัวหาร คุณลบตัวกรองที่มีอยู่บน CalendarYear โดยใช้ฟังก์ชัน ALL(Column) การดําเนินการนี้จะคํานวณผลรวมของแถวที่เหลือในตาราง ResellerSales_USD หลังจากใช้ตัวกรองบริบทที่มีอยู่จากป้ายชื่อคอลัมน์ ผลกระทบสุทธิคือ สําหรับตัวหาร ผลรวมจะถูกคํานวณผ่าน ProductCategoryName ที่เลือก (ตัวกรองบริบทโดยนัย) และสําหรับค่าทั้งหมดใน Year
คํานวณผลกระทบของหมวดหมู่ผลิตภัณฑ์ (Product Categories) ต่อยอดขายทั้งหมดต่อปี (Total Sales Per Year)
สมมติว่าคุณต้องการสร้างตารางที่แสดงเปอร์เซ็นต์ของยอดขายสําหรับแต่ละหมวดหมู่ผลิตภัณฑ์เป็นรายปี เพื่อให้ได้ค่าเปอร์เซ็นต์สําหรับแต่ละหมวดหมู่ผลิตภัณฑ์ในปีใดปีหนึ่ง คุณจําเป็นต้องคํานวณผลรวมของยอดขายสําหรับหมวดหมู่ผลิตภัณฑ์นั้น ๆ (ProductCategoryName) ในปี n แล้วหารค่าผลลัพธ์ด้วยผลรวมของยอดขายสําหรับปีที่ n ทั้งหมดในทุกหมวดหมู่ผลิตภัณฑ์ กล่าวอีกนัยหนึ่งคุณต้องการเก็บตัวกรองอยู่ในปี แต่จะลบตัวกรองใน ProductCategoryName เมื่อคํานวณตัวหารของเปอร์เซ็นต์
ตารางต่อไปนี้แสดงผลลัพธ์เมื่อมีการสร้างหน่วยวัดใหม่ ยอดขายของผู้จําหน่ายตาม CategoryName โดยใช้สูตรที่แสดงในส่วนโค้ด เมื่อต้องการดูวิธีการทํางาน ให้เพิ่มเขตข้อมูล CalendarYear ลงในพื้นที่
ป้ายชื่อแถว | อุปกรณ์ เสริม | จักรยาน | เสื้อผ้า | คอม โพ เนนต์ | ผลรวมทั้งหมด |
---|---|---|---|---|---|
2005 | 0.25% | 91.76% | 0.42% | 7.57% | 100.00% |
2006 | 0.38% | 82.64% | 1.99% | 14.99% | 100.00% |
2007 | 0.90% | 79.42% | 2.67% | 17.01% | 100.00% |
2008 | 0.99% | 83.69% | 2.37% | 12.96% | 100.00% |
ผลรวมทั้งหมด | 0.70% | 82.47% | 2.18% | 14.65% | 100.00% |
สูตร
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))
สูตรจะถูกสร้างขึ้นดังนี้:
ตัวเศษ SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
คือผลรวมของค่าใน ResellerSales_USD[SalesAmount_USD] สําหรับเซลล์ปัจจุบันใน PivotTable โดยใช้ตัวกรองบริบทที่ใช้กับเขตข้อมูล CalendarYear และ ProductCategoryName
สําหรับตัวหาร คุณใช้ฟังก์ชัน ALL(Column) เพื่อลบตัวกรองบน ProductCategoryName และคํานวณผลรวมของแถวที่เหลือบนตาราง ResellerSales_USD หลังจากใช้ตัวกรองบริบทที่มีอยู่จากป้ายชื่อแถว ผลกระทบสุทธิคือ สําหรับตัวหาร ผลรวมจะถูกคํานวณผ่าน Year ที่เลือก (ตัวกรองบริบทโดยนัย) และสําหรับค่าทั้งหมดของ ProductCategoryName
ฟังก์ชันตัวกรอง
ฟังก์ชัน
กิจกรรม
เข้าร่วมกับเราที่ FabCon Vegas
31 มี.ค. 23 - 2 เม.ย. 23
เหตุการณ์ที่นําโดยชุมชนของ Microsoft Fabric, Power BI, SQL และ AI 31 มีนาคมถึงวันที่ 2 เมษายน 2025
ลงทะเบียนวันนี้