Power BI | Create Input Box Show Top Rank | Single Value Slicer
Power BI | Create Input Box Show Top Rank | Single Value Slicer
อีกหนึ่งคำถามที่เจอบ่อย คือ
อยากให้ Power BI สามารถ มีช่องกรอก เลข ( input )
เพื่อให้แสดง Top ตามตัวเลขที่กรอก
ตัวอย่างเช่น
ใส่ เลข 4 ต้องแสดง Top4 ของ สินค้าที่ขายได้
หรือ ถ้าเปลี่ยนเป็น 5 ต้องแสดง Top5 ของสินค้าที่ขายได้
วิธีทำตามขั้นตอน
สร้าง Measure ที่ต้องการใช้ เรียงลำดับ เช่น ยอดขาย
_TotalSales = SUM( Sales_Order[SalesAmount] )
2.สร้าง Measure เรียงลำดับ โดยใช้ RANKX ผลลัพธ์จะเป็น เลขลำดับ
_rank_product = RANKX(
ALL(Sales_Order[Product_name] ) ,
[_TotalSales] , , DESC
)
3.สร้าง Measure ที่ ใช้ RANK ในการกำหนดการแสดงผล
โดยใช้ IF ช่วย
ถ้า rank ของยอดขาย มากกว่า 5 ไม่ต้องแสดงผล
_Rank_show =
IF( [_rank_product] > 5 ,
BLANK() ,
[_TotalSales]
)
4.สร้างตารางใหม่
เพื่อใช้เป็นตัวเลข กำหนด Rank
Home -> Enter Data
พิมพ์ชื่อ column -> no_rank
ใส่เลข 1 ถึง 10
ตั้งชื่อตาราง -> rank_table
5.สร้าง Slicer โดยใช้ Column "no_rank" ที่เพิ่งสร้าง แสดงผล
6.สร้าง measure ที่ เช็คค่า Rank ที่เลือก
โดยใช้ Selectedvalue
ตั้งชื่อ _Selected_rank
_Selected_rank = SELECTEDVALUE( Rank_Table[no_rank] )
6. แก้ measure จากของเดิม กำหนด top5 เปลียนเป็นเลขที่เกิดจาก การเลือก ใน Slicer
_Rank_show =
IF( [_rank_product] > [_Selected_rank] ,
BLANK() ,
[_TotalSales]
)
7.ใช้ Measure ชื่อ _Rank_show สร้างกราฟ
โดยถ้ามีการเปลี่ยน เลขใน Slicer กราฟจะแสดง เฉพาะ Top ตามตัวเลขที่พิมพ์
VDO ขั้นตอนการทำ