Thep Excel

TOPNPERLEVEL – เลือกแถวแบบ Top ต่อระดับ (เชิงเครื่องมือสำหรับ hierarchy)

ฟังก์ชันเชิงเครื่องมือสำหรับเลือกแถวแบบ Top ต่อระดับในโครงสร้างลำดับชั้น (hierarchy) ตามนิยามระดับ/โหนดและขอบเขตที่กำหนด

=TOPNPERLEVEL(<Rows>, <Table>, <LevelsDefinition>, <NodesExpanded>, <LevelsBoundaries>, <RestartIndicatorColumnName>)

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
5/10

Difficulty
5/10

Usefulness
5/10

Syntax & Arguments

=TOPNPERLEVEL(<Rows>, <Table>, <LevelsDefinition>, <NodesExpanded>, <LevelsBoundaries>, <RestartIndicatorColumnName>)

Argument Type Required Default Description
Rows number Yes จำนวนแถวเป้าหมายที่ต้องการคืน (แนวคิด Top ต่อระดับตามกติกาที่กำหนด)
Table table Yes ตารางต้นทางที่มีคอลัมน์ที่เกี่ยวข้องกับลำดับชั้น/โหนด
LevelsDefinition table Yes นิยามระดับของลำดับชั้น (เช่น รายการคอลัมน์/ระดับที่ต้องใช้ในการจัดระดับ)
NodesExpanded table Yes ข้อมูลสถานะการขยายโหนด (expanded nodes) ที่ใช้กำหนดว่าต้องคืนแถวของระดับใดบ้าง
LevelsBoundaries table Yes ขอบเขต/เงื่อนไขของแต่ละระดับ (เช่น จำกัดจำนวนต่อระดับหรือกำหนดช่วงของโหนด)
RestartIndicatorColumnName string Yes ชื่อคอลัมน์ที่ใช้เป็นตัวบ่งชี้การรีสตาร์ตการนับ/การจัดกลุ่มตามระดับ

How it works

รองรับ visual แบบ hierarchy ที่ต้องขยาย/ยุบระดับ

ใช้เป็นเครื่องมือในการเลือกแถวที่ต้องแสดงตามระดับที่ผู้ใช้ขยายใน visual

จำกัดจำนวนแถวต่อระดับเพื่อประสิทธิภาพ

ใช้ลดจำนวนแถวที่คืนในแต่ละระดับ เมื่อโครงสร้างลำดับชั้นมีขนาดใหญ่

Examples

ตัวอย่างที่ 1: โครงสร้างการเรียกใช้ (แนวคิด)
TOPNPERLEVEL( 100, <Table>, <LevelsDefinition>, <NodesExpanded>, <LevelsBoundaries>, "RestartFlag" )
ฟังก์ชันนี้มักถูกใช้ในสถานการณ์เชิงเครื่องมือ/ภายใน มากกว่างานโมเดลทั่วไป
DAX Formula:

=TOPNPERLEVEL(
    100,
    <Table>,
    <LevelsDefinition>,
    <NodesExpanded>,
    <LevelsBoundaries>,
    "RestartFlag"
)

Result:

คืนตารางย่อยที่ถูกเลือกตามระดับและโหนดที่ถูกขยาย

ตัวอย่างที่ 2: ใช้คู่กับ TOPNSKIP เพื่อเลื่อนหน้า (แนวคิด)
แนวคิด: เลือกผลลัพธ์ต่อระดับด้วย TOPNPERLEVEL แล้วใช้ TOPNSKIP เพื่อดึงทีละหน้า
ถ้าต้องทำ paging ให้ดู TOPNSKIP ซึ่งมักเร็วกว่า TOPN ในงานเลื่อนหน้า
DAX Formula:

=แนวคิด: เลือกผลลัพธ์ต่อระดับด้วย TOPNPERLEVEL แล้วใช้ TOPNSKIP เพื่อดึงทีละหน้า

Result:

ได้ชุดข้อมูลต่อหน้า (page) ที่ยังสอดคล้องกับระดับของ hierarchy

ตัวอย่างที่ 3: ตรวจสอบด้วยตารางสรุป (แนวคิด)
แนวคิด: สร้างตารางด้วย TOPNPERLEVEL แล้วตรวจจำนวนแถวด้วย COUNTROWS
เมื่อพารามิเตอร์ซับซ้อน การตรวจด้วยจำนวนแถวและการแยกระดับช่วยลดความสับสน
DAX Formula:

=แนวคิด: สร้างตารางด้วย TOPNPERLEVEL แล้วตรวจจำนวนแถวด้วย COUNTROWS

Result:

ช่วยตรวจว่าการจำกัดจำนวนแถวทำงานตามที่คาด

FAQs

TOPNPERLEVEL เหมาะกับการใช้งานทั่วไปไหม?

โดยมากเป็นฟังก์ชันเชิงเครื่องมือสำหรับงาน visual/hierarchy เฉพาะทาง ไม่ได้จำเป็นสำหรับการเขียน measure ทั่วไป

ทำไมพารามิเตอร์ถึงเยอะและดูซับซ้อน?

เพราะต้องรับข้อมูลนิยามระดับ โหนดที่ขยาย และขอบเขตของแต่ละระดับ เพื่อคืนผลลัพธ์ที่สอดคล้องกับการทำงานแบบ hierarchy

Resources & Related

Additional Notes

TOPNPERLEVEL เป็นฟังก์ชันเชิงเครื่องมือที่เกี่ยวข้องกับการทำงานกับข้อมูลแบบ “ลำดับชั้น (hierarchy)” เช่น การขยาย/ยุบโหนดใน visual โดยมีแนวคิดคือเลือกจำนวนแถวสูงสุดต่อระดับตามนิยามระดับ โหนดที่ถูกขยาย และขอบเขตของแต่ละระดับที่ส่งเข้ามา

Leave a Reply

Your email address will not be published. Required fields are marked *