แชร์ผ่าน


ALLNOBLANKROW

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

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

วากยสัมพันธ์

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

พารามิเตอร์

เทอม นิยาม
table ตารางที่มีการเอาตัวกรองบริบททั้งหมดออก
column คอลัมน์ที่มีการเอาตัวกรองบริบททั้งหมดออก

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

ค่าผลลัพธ์

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

หมาย เหตุ

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

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

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

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

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

ตัวอย่าง

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

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

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

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

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

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

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

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

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

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

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

// 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 ของวันที่เวลา ALL Countrows ของวันที่เวลา
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_USDCountrows ALL ของ ResellerSales_USD

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

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

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

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