ทำไม Power BI ถึงใช้ยาก?
เพราะเราใช้มันแทน Excel
อ้าว! แล้วมันผิดตรงไหน?
Power BI เป็นโปรแกรมที่ออกแบบมาเพื่อสร้างกราฟ หรือสรุปข้อมูลออกมาเป็นแดชบอร์ด
แต่ในทางปฏิบัติ กว่า 70% ใช้ Power BI เพื่อสรุปข้อมูลเป็นตาราง
หรือพูดง่าย ๆ คือ เปลี่ยนจากตารางที่เคยแสดงใน Excel มาแสดงใน Power BI แทนนั่นแหละ
ตารางใน Excel จะปรับแต่งยังไงก็ได้ เพิ่มข้อมูลอะไรตรงไหนก็ใส่แบบแมนวลได้
แต่ Power BI ใส่แบบแมนวลไม่ได้ ทุกอย่างต้องเชื่อมโยงกันและคิดเผื่อในสูตรไว้ทั้งหมดแล้ว
ยกตัวอย่างเช่น รีพอร์ตในภาพนี้

โจทย์ต้องการแสดงยอดขายของ This Month ( TM ), Last Month ( LM ) และ Last Year ( LY )
โดยเลือกเดือนและปีที่ต้องการจากสไลเซอร์ (Slicer)
เช่น จากภาพเลือก Feb-21
ซึ่งพอเลือกแล้ว ต้องแสดงข้อมูลด้านบนซ้ายด้วยว่า TM, LM, LY คือเดือน-ปีอะไร (แบบอัตโนมัติ) เช่น
TM = Feb-21
LM = Jan-21
LY = Feb-20
เท่านั้นยังไม่พอ
ต้องแสดงยอดขายรายวันด้วยว่า แต่ละวันมียอดขายเท่าไร
และต้องแสดงยอดขายของเดือนที่แล้วด้วยว่า ในวันเดียวกันของเดือนที่แล้ว ขายไปกี่บาท
ความยากก็คือ เดือนนี้ (Feb-21) มี 28 วัน
แต่เดือนที่แล้ว (Jan-21) มี 31 วัน
ดังนั้นต้องแสดงข้อมูลวันที่ 29, 30, 31 ของเดือนมกราคมด้วย! (ดังภาพ)
ซึ่งในทางปฏิบัติ มันทำตรง ๆ ไม่ได้
ต้องเล่นแร่แปรธาตุ และเพิ่มขั้นตอนพอควร
เช่น จากภาพ สูตรในการสร้าง Measure LM_Sales คือ
LM_Sales =
VAR CurrentDay = SELECTEDVALUE(tDayParam[DayParam])
VAR CurrentMYN = SELECTEDVALUE(tDate[MonthYearNum])
VAR MaxDate = CALCULATE(MAX(tOrder[OrderDate]),REMOVEFILTERS())
VAR CurrentDate =
DATE(
SELECTEDVALUE(tDate[Year]),
SELECTEDVALUE(tDate[MonthNum]),
CurrentDay
)
VAR Result =
IF(
CurrentDate<=MaxDate,
IF(
HASONEVALUE(tDayParam[DayParam]),
CALCULATE(
[Sales],
tDate[MonthYearNum]=CurrentMYN-1,
tDate[Day]=CurrentDay,
REMOVEFILTERS(tDate)
),
CALCULATE(
[Sales],
CALCULATETABLE(
DATEADD(tDate[Date],-1,MONTH),
tDate[IsDayActual]
)
)
)
)
RETURN Result
ใช่, สูตรยากและยาว
ที่มันยาก เพราะต้องคิดเผื่อกรณีแสดงผลลัพธ์ใน Subtotal ให้ถูกต้อง
และต้องคิดเผื่อด้วยว่า ถ้าตอนนี้ TM มีข้อมูลแค่ 10 วัน ก็ต้องแสดงข้อมูล LM แค่ 10 วันด้วยเช่นกัน (ไม่ใช่แสดงทั้งเดือน)
ถ้าต้องการผลลัพธ์แบบนี้ใน Excel บอกเลยว่าง่ายกว่าเยอะ
นี่คือแค่ตัวอย่างเดียว
แต่ในทางปฏิบัติ มีตัวอย่างแบบนี้เป็นร้อย ๆ ซึ่งส่วนใหญ่ต้องแก้ไขด้วยสูตร DAX ทั้งหมด (รวมทั้งการสร้าง Data Model ที่ถูกต้อง)
ดังนั้น ถ้าคิดว่ามี Power BI แล้ว จะย้ายรีพอร์ตที่เคยแสดงใน Excel มาไว้ในนี้ ขอบอกเลยว่าไม่ง่าย
ยกเว้นว่า คุณมี BI Expert ในหน่วยงาน (แต่ BI Expert เก่ง ๆ อาจหายากกว่าเขียนสูตรอีกนะ)
คำแนะนำของผมคือ
ใช้เครื่องมือให้ถูกกับงาน
Power BI คือโปรแกรมที่ถูกออกแบบมาเพื่อสร้างกราฟ ดังนั้น ใช้มันสร้างกราฟเถอะ
ถ้าต้องการตารางที่ซับซ้อน บางทีการแสดงใน Excel อาจเป็นทางที่ดีแล้วก็ได้…
นี่คือมุมมองของผม (ซึ่งอาจจะผิด) คิดเห็นยังไง คอมเมนต์บอกกันหน่อยนะครับ 😊