ALLNOBLANKROW

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

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

ไวยากรณ์

ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )

พารามิเตอร์

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

ต้องส่งผ่านพารามิเตอร์เดียวเท่านั้น พารามิเตอร์ เป็นตารางหรือคอลัมน์

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

ตารางเมื่อพารามิเตอร์ที่ส่งผ่านเป็นตารางหรือคอลัมน์ของค่าเมื่อพารามิเตอร์ที่ส่งผ่านเป็นคอลัมน์

หมายเหตุ

  • ฟังก์ชัน ALLNOBLANKROW จะกรองเฉพาะแถวที่ว่างเปล่าที่ตารางหลักในความสัมพันธ์จะแสดงขึ้นเมื่อมีอย่างน้อยหนึ่งแถวในตารางย่อยที่มีค่าที่ไม่ตรงกันกับคอลัมน์หลัก ดูตัวอย่างด้านล่างสําหรับคําอธิบายโดยละเอียด

  • ตารางต่อไปนี้สรุปการเปลี่ยนแปลงทั้งหมดที่มีให้ใน DAX และความแตกต่าง:

    ฟังก์ชันและการใช้งาน คำอธิบาย
    ALL(Column) ลบตัวกรองทั้งหมดออกจากคอลัมน์ที่ระบุในตาราง ตัวกรองอื่น ๆ ทั้งหมดในตารางเหนือคอลัมน์อื่น ๆ ยังคงใช้งานได้
    ALL(Table) ลบตัวกรองทั้งหมดออกจากตารางที่ระบุ
    ALLEXCEPT(Table,Col1,Col2...) แทนที่ตัวกรองบริบททั้งหมดในตารางยกเว้นคอลัมน์ที่ระบุ
    ALLNOBLANK(table|column) จากตารางหลักของความสัมพันธ์ แสดงแถวทั้งหมดแต่แถวที่ว่างเปล่า หรือค่าที่แตกต่างกันทั้งหมดของคอลัมน์แต่แถวที่ว่างเปล่า และละเว้นตัวกรองบริบทใดก็ตามที่อาจมีอยู่

    สําหรับคําอธิบายทั่วไปเกี่ยวกับลักษณะการทํางานของฟังก์ชัน ALL พร้อมกับตัวอย่างแบบทีละขั้นตอนที่ใช ้ ALL(Table) และ ALL(Column) ดู ฟังก์ชัน ALL

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

ตัวอย่าง

ในข้อมูลตัวอย่าง ตาราง ResellerSales_USD มีหนึ่งแถวที่ไม่มีค่า ดังนั้นจึงไม่สามารถเกี่ยวข้องกับตารางหลักใด ๆ ในความสัมพันธ์ภายในเวิร์กบุ๊กได้ คุณจะใช้ตารางนี้ใน PivotTable เพื่อให้คุณสามารถดูลักษณะการทํางานของแถวที่ว่างเปล่าและวิธีการจัดการการนับจํานวนในข้อมูลที่ไม่เกี่ยวข้อง

ขั้นตอนที่ 1: ตรวจสอบข้อมูลที่ไม่เกี่ยวข้อง

เปิด หน้าต่าง Power Pivot จากนั้นเลือกตาราง ResellerSales_USD ในคอลัมน์ ProductKey กรองสําหรับค่าว่าง หนึ่งแถวจะยังคงอยู่ ในแถวนั้น ค่าคอลัมน์ทั้งหมดควรเป็นค่าว่าง ยกเว้นสําหรับ SalesOrderLineNumber

ขั้นตอนที่ 2: สร้าง PivotTable

สร้าง PivotTable ใหม่ จากนั้นลากคอลัมน์ วันที่เวลา [ปีปฏิทิน] ไปยังบานหน้าต่างป้ายชื่อแถว ตารางต่อไปนี้แสดงผลลัพธ์ที่คาดไว้:

ป้ายชื่อแถว
2005
2006
2007
2008
ผลรวมทั้งหมด

สังเกตป้ายชื่อว่างระหว่าง 2008 และ ผลรวมทั้งหมด ป้ายชื่อที่ว่างเปล่านี้แสดงถึงสมาชิกที่ไม่รู้จัก ซึ่งเป็นกลุ่มพิเศษที่สร้างขึ้นในบัญชีสําหรับค่าใด ๆ ในตารางย่อยที่ไม่มีค่าที่ตรงกันในตารางหลัก ตัวอย่างเช่น วันที่เวลา [ปีปฏิทิน] คอลัมน์

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

แถวที่เพิ่มไปยังกลุ่มป้ายชื่อที่ว่างเปล่านี้เป็นค่าที่ไม่ตรงกับค่าใด ๆ ในตารางหลัก-- ตัวอย่างเช่น วันที่ที่ไม่มีอยู่ในตาราง datetime-- หรือค่า null หมายความว่าไม่มีค่าสําหรับวันที่เลย ในตัวอย่างนี้ เราได้ใส่ค่าว่างไว้ในคอลัมน์ทั้งหมดของตารางยอดขายย่อย การมีค่าในตารางหลักมากกว่าค่าในตารางย่อยไม่เป็นสาเหตุให้เกิดปัญหา

ขั้นตอนที่ 3: นับจํานวนแถวโดยใช้ ALL และ ALLNOBLANK

เพิ่มสองหน่วยวัดต่อไปนี้ลงในตาราง datetime เพื่อนับจํานวนแถวของตาราง: Countrows ALLNOBLANK ของวันที่เวลา Countrows ALL ของวันที่เวลา สูตรที่คุณสามารถใช้เพื่อกําหนดหน่วยวัดเหล่านี้ได้คือ:

// Countrows ALLNOBLANK of datetime  
= COUNTROWS(ALLNOBLANKROW('DateTime'))  
  
// Countrows ALL of datetime  
= COUNTROWS(ALL('DateTime'))  
  
// Countrows ALLNOBLANKROW of ResellerSales_USD  
= COUNTROWS(ALLNOBLANKROW('ResellerSales_USD'))  
  
// Countrows ALL of ResellerSales_USD  
= COUNTROWS(ALL('ResellerSales_USD'))  

ใน PivotTable ที่ว่างเปล่า ให้เพิ่มวันที่เวลา [Calendar Year] คอลัมน์ไปยังป้ายชื่อแถว จากนั้นเพิ่มหน่วยวัดที่สร้างขึ้นใหม่ ผลลัพธ์ควรมีลักษณะเหมือนกับตารางต่อไปนี้:

ป้ายชื่อแถว Countrows ALLNOBLANK ของวันที่เวลา Countrows ALL ของวันที่เวลา
2005 1280 1281
2006 1280 1281
2007 1280 1281
2008 1280 1281
1280 1281
ผลรวมทั้งหมด 1280 1281

ผลลัพธ์แสดงความแตกต่างของแถวที่ 1 ในการนับจํานวนแถวของตาราง อย่างไรก็ตาม ถ้าคุณเปิด หน้าต่าง Power Pivot และเลือกตาราง datetime คุณจะไม่สามารถค้นหาแถวที่ว่างเปล่าใด ๆ ในตารางเนื่องจากแถวที่ว่างเปล่าแบบพิเศษที่ระบุไว้ที่นี่คือสมาชิกที่ไม่รู้จัก

ขั้นตอนที่ 4: ตรวจสอบว่าจํานวนที่ถูกต้อง

เพื่อพิสูจน์ว่า ALLNOBLANKROW จะไม่นับจํานวนแถวที่ว่างเปล่าอย่างแท้จริง และจัดการเฉพาะแถวที่ว่างเปล่าแบบพิเศษในตารางหลักเท่านั้น ให้เพิ่มสองหน่วยวัดต่อไปนี้ลงในตาราง ResellerSales_USD: Countrows ALLNOBLANKROW ของ ResellerSales_USD, Countrows ALL ของ ResellerSales_USD

สร้าง PivotTable ใหม่ และลากคอลัมน์ วันที่เวลา [ปีปฏิทิน] ไปยังบานหน้าต่างป้ายชื่อแถว ในตอนนี้ ให้เพิ่มหน่วยวัดที่คุณเพิ่งสร้างขึ้น ผลลัพธ์ควรมีลักษณะดังต่อไปนี้:

ป้ายชื่อแถว Countrows ALLNOBLANKROW ของ ResellerSales_USD Countrows ALL ของ ResellerSales_USD
2005 60856 60856
2006 60856 60856
2007 60856 60856
2008 60856 60856
60856 60856
ผลรวมทั้งหมด 60856 60856

ในตอนนี้สองหน่วยวัดมีผลลัพธ์เดียวกัน นั่นเป็นเพราะฟังก์ชัน ALLNOBLANKROW จะไม่นับแถวที่ว่างเปล่าในตารางอย่างแท้จริง แต่จะจัดการกับแถวว่างที่เป็นกรณีพิเศษที่สร้างขึ้นในตารางหลักเมื่อตารางย่อยอย่างน้อยหนึ่งตารางในความสัมพันธ์มีค่าที่ไม่ตรงกันหรือค่าว่าง

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