Share via


ALLEXCEPT

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

ลบตัวกรองบริบททั้งหมดในตาราง ยกเว้นตัวกรองที่ถูกนําไปใช้กับคอลัมน์ที่ระบุ

ไวยากรณ์

ALLEXCEPT(<table>,<column>[,<column>[,…]])  

พารามิเตอร์

เงื่อนไข คำนิยาม
ตาราง ตารางที่มีการเอาตัวกรองบริบททั้งหมดออก ยกเว้นตัวกรองบนคอลัมน์เหล่านั้นที่ระบุไว้ในอาร์กิวเมนต์ที่ตามมา
คอลัมน์ คอลัมน์สําหรับตัวกรองบริบทที่ต้องได้รับการรักษาไว้

อาร์กิวเมนต์แรกของฟังก์ชัน ALLEXCEPT ต้องเป็นการอ้างอิงไปยังตารางฐาน อาร์กิวเมนต์ที่ตามมาทั้งหมดต้องเป็นการอ้างอิงไปยังคอลัมน์ฐาน คุณไม่สามารถใช้นิพจน์ตารางหรือนิพจน์คอลัมน์กับฟังก์ชัน ALLEXCEPT ได้

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

ตารางที่มีตัวกรองทั้งหมดจะถูกลบออก ยกเว้นตัวกรองบนคอลัมน์ที่ระบุ

หมายเหตุ

  • ฟังก์ชันนี้ไม่ได้ถูกใช้ด้วยตัวเอง แต่ทําหน้าที่เป็นฟังก์ชันขั้นกลางที่สามารถใช้ในการเปลี่ยนชุดผลลัพธ์ที่ดําเนินการคํานวณอื่น ๆ

  • ALL และ ALLEXCEPT สามารถใช้ได้ในสถานการณ์ที่แตกต่างกัน:

    ฟังก์ชันและการใช้งาน คำอธิบาย
    ALL(Table) ลบตัวกรองทั้งหมดออกจากตารางที่ระบุ ดังนั้น ALL(Table) จะแสดงค่าทั้งหมดในตาราง โดยลบตัวกรองใดก็ตามออกจากบริบทที่อาจเคยมีการนําไปใช้ ฟังก์ชันนี้มีประโยชน์เมื่อคุณทํางานกับการจัดกลุ่มหลายระดับ และต้องการสร้างการคํานวณที่สร้างอัตราส่วนของค่ารวมต่อค่าทั้งหมด
    ALL (Column[, Column[, ...]]) ลบตัวกรองทั้งหมดออกจากคอลัมน์ที่ระบุในตาราง ตัวกรองอื่น ๆ ทั้งหมดบนคอลัมน์อื่น ๆ ในตารางยังคงใช้งานอยู่ อาร์กิวเมนต์ของคอลัมน์ทั้งหมดต้องมาจากตารางเดียวกัน ตัวแปร ALL(Column) มีประโยชน์เมื่อคุณต้องการลบตัวกรองบริบทสําหรับคอลัมน์ที่ระบุอย่างน้อยหนึ่งคอลัมน์และเก็บตัวกรองบริบทอื่น ๆ ทั้งหมด
    ALLEXCEPT(Table, Column1 [,Column2]...) ลบตัวกรองบริบททั้งหมดในตาราง ยกเว้นตัวกรองที่ถูกนําไปใช้กับคอลัมน์ที่ระบุ นี่คือทางลัดที่สะดวกสําหรับสถานการณ์ที่คุณต้องการลบตัวกรองในคอลัมน์จํานวนมาก แต่ไม่ใช่คอลัมน์ทั้งหมดในตาราง
  • ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)

ตัวอย่าง

สูตรหน่วยวัดต่อไปนี้จะรวม SalesAmount_USD และใช้ฟังก์ชัน ALLEXCEPT เพื่อลบตัวกรองบริบทใด ๆ ในตาราง DateTime ยกเว้นถ้ามีการนําตัวกรองไปใช้กับคอลัมน์ CalendarYear

= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))  

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

ฟังก์ชันตัวกรอง
ฟังก์ชัน ALL
ฟังก์ชัน FILTER