DAX Time Intelligence ประโยชน์ และตัวอย่างการใช้งาน

DAX Time Intelligence ประโยชน์ และตัวอย่างการใช้งาน

DAX Time Intelligence ประโยชน์ และตัวอย่างการใช้งาน

DAX ( Data Analysis Expression ) เป็นภาษาคำสั่งที่ใช้ในการคำนวณและวิเคราะห์ข้อมูลใน Power BI, Power Pivot ใน Microsoft Excel หรือ SQL Serverโดยมีความสามารถด้านนึงที่น่าสนใจมาก ๆ เกี่ยวกับการทำงานด้าน วันที่ เรียกว่า Time Intelligence

 

DAX Time Intelligence คือฟังก์ชันที่ช่วยในการคำนวณข้อมูลเชิงเวลาใน Power BI และ Excel Power Pivot โดยจะช่วยให้ผู้ใช้งานสามารถคำนวณข้อมูลเชิงเวลา เช่น การเปรียบเทียบผลการขายระหว่างช่วงเวลา หรือวิเคราะห์แนวโน้มการขายในอนาคต ได้อย่างมีประสิทธิภาพสูง 

ตัวอย่างฟังก์ชันที่ช่วยในการคำนวณข้อมูลเชิงเวลา

TOTALYTD:
คำนวณรวมยอดขายตั้งแต่เริ่มต้นปีจนถึงวันที่กำหนด เช่น
TOTALYTD(SUM('Sales'[Amount]), 'Calendar'[Date]) 

SAMEPERIODLASTYEAR:
คำนวณข้อมูลจากช่วงเวลาเดียวกันในปีก่อนหน้า เช่น
SUMX(FILTER('Sales', 'Sales'[Date] = DATE(2022, 3, 10)), 'Sales'[Amount]) - SUMX(FILTER('Sales', 'Sales'[Date] = SAMEPERIODLASTYEAR('Calendar'[Date])), 'Sales'[Amount]) 

OPENINGBALANCEYEAR:
คำนวณยอดคงเหลือเริ่มต้นของปี เช่น
OPENINGBALANCEYEAR(SUM('Sales'[Amount]), 'Calendar'[Date]) 

การใช้ DAX Time Intelligence ช่วยให้ผู้ใช้งานสามารถวิเคราะห์ข้อมูลเชิงเวลา งานด้านธุรกิจ การใช้งาน DAX Time Intelligence ช่วยให้ผู้ใช้งานสามารถวิเคราะห์ข้อมูลเชิงเวลาเพื่อตรวจสอบแนวโน้มของธุรกิจและการเปรียบเทียบผลการดำเนินงานระหว่างช่วงเวลาต่างๆ ได้อย่างสะดวกและรวดเร็ว

 

ประโยชน์ของ DAX Time Intelligence ในธุรกิจ 

DAX Time Intelligence ช่วยงานในธุรกิจ ได้แก่ 

  1. การวิเคราะห์ยอดขาย สามารถใช้ DAX Time Intelligence ในการคำนวณยอดขายตามช่วงเวลาต่างๆ เช่น ยอดขายรวมในเดือนที่ผ่านมา หรือเปรียบเทียบยอดขายระหว่างปีนี้กับปีก่อนหน้า
  2. การวิเคราะห์ผลตอบแทนการลงทุน ใช้ DAX Time Intelligence ในการคำนวณผลตอบแทนการลงทุนโดยใช้อัตราผลตอบแทนรายปี สามารถวิเคราะห์ผลตอบแทนการลงทุนตามเวลาและเปรียบเทียบกับการลงทุนในสินทรัพย์อื่นๆ ได้
  3. การวิเคราะห์แนวโน้มการเติบโตของธุรกิจ ใช้ DAX Time Intelligence ในการวิเคราะห์แนวโน้มการเติบโตของธุรกิจและสามารถปรับแผนการทำงานในอนาคตได้ตามแนวโน้ม
  4. การวิเคราะห์ธุรกรรมทางการเงิน ใช้ DAX Time Intelligence ในการวิเคราะห์ธุรกรรมทางการเงิน เช่น การคำนวณเงินต้นและดอกเบี้ยในการกู้ยืมเงิน หรือการคำนวณค่าใช้จ่ายต่างๆ ในช่วงเวลาที่กำหนด
  5. การวิเคราะห์สัดส่วนผลตอบแทน ใช้ DAX Time Intelligence ในการคำนวณสัดส่วนผลตอบแทนของการลงทุนในช่วงเวลาที่กำหนด เช่น สัดส่วนผลตอบแทนรายเดือนของกองทุนรวม
  6. การวิเคราะห์การเปรียบเทียบผลประกอบการระหว่างรอบการบัญชี ใช้ DAX Time Intelligence ในการเปรียบเทียบผลประกอบการระหว่างรอบการบัญชีและวิเคราะห์แนวโน้มการเติบโตของธุรกิจ   

การใช้งาน DAX Time Intelligence ยังช่วยให้ผู้ใช้งานสามารถทำการวิเคราะห์ข้อมูลด้วยการเปรียบเทียบข้อมูลระหว่างช่วงเวลาต่างๆ ได้อย่างรวดเร็วและสะดวกมากขึ้น ช่วยให้ผู้ใช้งานสามารถวิเคราะห์แนวโน้มและผลลัพธ์ของธุรกิจได้อย่างถูกต้องและรวดเร็ว ช่วยให้ผู้ใช้งานสามารถตรวจสอบและปรับปรุงแผนการทำงาน กำหนดกลยุทธให้กับองค์กร ให้เหมาะสมกับแนวโน้มตลาดและภาวะเศรษฐกิจ

 

ตัวอย่างการใช้งาน DAX Time Intelligence ในการเปรียบเทียบข้อมูลและวิเคราะห์แนวโน้ม ได้แก่ 

  1. เปรียบเทียบยอดขายระหว่างช่วงเวลา ใช้ DAX Time Intelligence ในการคำนวณยอดขายระหว่างช่วงเวลาที่ต้องการ เช่น เปรียบเทียบยอดขายเดือนนี้กับเดือนก่อนหน้า
  2. วิเคราะห์แนวโน้มการขาย ใช้ DAX Time Intelligence ในการคำนวณแนวโน้มการขาย เช่น วิเคราะห์การเปลี่ยนแปลงของยอดขายรายเดือนในช่วงเวลา 12 เดือน
  3. การวิเคราะห์ผลตอบแทนการลงทุน ใช้ DAX Time Intelligence ในการวิเคราะห์ผลตอบแทนการลงทุนในช่วงเวลา ตามระยะเวลาที่กำหนด เช่น วิเคราะห์ผลตอบแทนการลงทุนรายเดือน
  4. การเปรียบเทียบความสำเร็จของโครงการ ใช้ DAX Time Intelligence ในการเปรียบเทียบผลการดำเนินงานระหว่างช่วงเวลา เช่น วิเคราะห์ผลการดำเนินงานระหว่างไตรมาสที่ 1 และไตรมาสที่ 2
  5. การวิเคราะห์แนวโน้มของตลาด ใช้ DAX Time Intelligence ในการวิเคราะห์แนวโน้มของตลาด เช่น วิเคราะห์แนวโน้มการขายของสินค้า
  6. การวิเคราะห์สัดส่วนของผลตอบแทน ใช้ DAX Time Intelligence ในการคำนวณสัดส่วนผลตอบแทนของการลงทุนในช่วงเวลาที่กำหนด เช่น วิเคราะห์สัดส่วนผลตอบแทนรายเดือนของกองทุนรวม
  7. การวิเคราะห์ผลกระทบของโควิด-19 ใช้ DAX Time Intelligence ในการวิเคราะห์ผลกระทบของโควิด-19 ต่อธุรกิจและผลิตภัณฑ์ของบริษัท โดยการเปรียบเทียบผลการดำเนินงานระหว่างช่วงเวลาก่อนและหลังการระบาดของโควิด-19
 ตัวอย่างการใช้ Time Intelligence ใน Power BI

การกำหนดค่า Date Table

การ Mark as date table เพื่อกำหนด Date Dimension เพื่อทำ Time Intelligence โดย
  1. ไปที่ตาราง Date Table
  2. Tab Table Tools > Mark as date table
  3. เลือก Field ที่เป็น Date column
การ Mark as date table เพื่อกำหนด Date Dimension เพื่อทำ Time Intelligence

หมายเหตุ การสร้าง Date Dimension สามารถศึกษาได้จากบทความ การสร้าง DATE Dimension ของ Power BI

ตัวอย่างการคำนวณ DAX Time Intelligence

คำนวณยอดขายรวมของปีที่กำหนด

Total Sales YTD =
TOTALYTD(SUM(Sales[Sales Amount]),'Date'[DateKey])

คำนวณยอดขายรวมของเดือนปัจจุบัน

Total Sales MTD =
TOTALMTD(SUM(Sales[Sales Amount]),'Date'[DateKey])

คำนวณยอดขายของช่วงเวลาที่กำหนด

Total Sales Range =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESBETWEEN('Date'[DateKey],[Start Date],[End Date])
)

คำนวณเปอร์เซ็นต์การเปลี่ยนแปลงของยอดขายจากเดือนก่อนหน้า

Sales Change % =
DIVIDE(
SUM(Sales[Sales Amount]),
CALCULATE(SUM(Sales[Sales Amount]),DATEADD('Date'[DateKey],-1,MONTH))
)

คำนวณเปอร์เซ็นต์การเปลี่ยนแปลงของยอดขายจากปีก่อนหน้า

Sales Growth % =
DIVIDE(
 SUM(Sales[Sales Amount] ),
 CALCULATE(SUM(Sales[Sales Amount]),SAMEPERIODLASTYEAR('Date'[DateKey]))
)

คำนวณยอดขายเฉลี่ยรายวัน

Avg Daily Sales =
DIVIDE(
SUM(Sales[Sales Amount]),
COUNTROWS(
  DATESBETWEEN('Date',MIN('Date'[DateKey]),MAX('Date'[DateKey]))
 )
)

คำนวณยอดขายรวมของ 7 วันก่อนหน้า

Total Sales Last 7 Days=
CALCULATE(
 SUM(Sales[Sales Amount]),
 DATESINPERIOD('Date'[DateKey],LASTDATE('Date'[DateKey]),-7,DAY)
)

คำนวณยอดขายรวมของเดือนที่แล้ว

Total Sales Last Month=
CALCULATE(
 SUM(Sales[Sales Amount]),
   DATESINPERIOD(
     'Date'[DateKey],
        LASTDATE( DATEADD ('Date'[DateKey],-1, MONTH)),
         -1,
        MONTH
    )
)

คำนวณจำนวนวันในไตรมาสปัจจุบัน

Days in Current Quarter=
DATEDIFF(
DATE(YEAR(MAX('Date'[DateKey])),CEILING(MONTH(MAX('Date'[DateKey]))/3,1)*3-2,1),
MAX('Date'[DateKey]),
DAY
)

คำนวณยอดขายรวมของช่วงเวลาที่กำหนด โดยเปรียบเทียบกับช่วงเวลาก่อนหน้า

Sales Change=
SUM(Sales[Sales Amount])
- CALCULATE(SUM(Sales[Sales Amount]),DATEADD('Date'[DateKey],-1,MONTH))

คำนวณยอดขายรวมของช่วงเวลาที่กำหนด โดยเปรียบเทียบกับช่วงเวลาเดียวกันในปีก่อนหน้า

Sales Growth=
SUM(Sales[Sales Amount])
- CALCULATE(SUM(Sales[Sales Amount]),SAMEPERIODLASTYEAR('Date'[DateKey]))

คำนวณเปอร์เซ็นต์การเปลี่ยนแปลงของยอดขายรวมโดยเปรียบเทียบกับช่วงเวลาก่อนหน้า

Sales Change % vs. Prev Month =
DIVIDE(
SUM(Sales[Sales Amount])
-CALCULATE(SUM(Sales[Sales Amount]),DATEADD('Date'[DateKey],-1,MONTH)),
CALCULATE(SUM(Sales[Sales Amount]),DATEADD('Date'[DateKey],-1,MONTH))
)

คำนวณเปอร์เซ็นต์การเปลี่ยนแปลงของยอดขายรวมโดยเปรียบเทียบกับช่วงเวลาเดียวกันในปีก่อนหน้า

Sales Change % vs. Last Year =
DIVIDE(
SUM(Sales[Sales Amount])
-CALCULATE(SUM(Sales[Sales Amount]),SAMEPERIODLASTYEAR('Date'[DateKey])),
CALCULATE(SUM(Sales[Sales Amount]),SAMEPERIODLASTYEAR('Date'[DateKey]))
)

คำนวณยอดขายรวมของช่วงเวลาที่กำหนดโดยเปรียบเทียบกับช่วงเวลาก่อนหน้าโดยใช้ ALLSELECTED

Sales Change with ALLSELECTED =
VAR SelectedPeriod = MIN('Date'[DateKey])&"-"&MAX('Date'[DateKey])
VAR PreviousPeriod =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESBETWEEN(
'Date'[DateKey],
MIN('Date'[DateKey])
- (MAX('Date'[DateKey])-MIN('Date'[DateKey])),
MIN('Date'[DateKey])-1
),
ALLSELECTED('Date')
)
RETURN
SUM(Sales[Sales Amount])-PreviousPeriod //หมายเหตุ

คำนวณเปอร์เซ็นต์การเปลี่ยนแปลงของยอดขายรวมโดยเปรียบเทียบกับช่วงเวลาก่อนหน้าโดยใช้ ALLSELECTED

Sales Change % with ALLSELECTED =
VAR SelectedPeriod =
MIN('Date'[DateKey])&"-"
&MAX('Date'[DateKey])
VAR PreviousPeriod =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESBETWEEN(
'Date'[DateKey],
MIN('Date'[DateKey])
- (MAX('Date'[DateKey])-MIN('Date'[DateKey])),
MIN('Date'[DateKey])-1
),
ALLSELECTED('Date')
)
RETURN
DIVIDE(SUM(Sales[Sales Amount])-PreviousPeriod,PreviousPeriod

คำนวณเปอร์เซ็นต์การเปลี่ยนแปลงของยอดขายรวมโดยเปรียบเทียบกับช่วงเวลาเดียวกันในปีก่อนหน้าโดยใช้ ALLSELECTED

Sales Change % with ALLSELECTED =
VAR SelectedPeriod =
MIN('Date'[DateKey])&"-"
&MAX('Date'[DateKey])
VAR PreviousYear =
CALCULATE(
SUM(Sales[Sales Amount]),
SAMEPERIODLASTYEAR('Date'),
ALLSELECTED('Date')
)
RETURN DIVIDE(SUM(Sales[Sales Amoun])-PreviousYear,PreviousYear

โค้ดด้าน Time Intelligence นี้จะช่วยให้ผู้ใช้งาน Power BI หรือ Excel Power Pivot สามารถนำเสนอแนวโน้มและข้อมูลเชิงเวลาได้อย่างมีประสิทธิภาพ และปรับปรุงการตัดสินใจของธุรกิจได้ดียิ่งขึ้น

แนะนำหลักสูตร

  1. Power BI Desktop for Business Analytics
  2. Power BI Advanced Visualization and AI
  3. Data Analysis Expression (DAX) for Power BI
  4. Power BI Advanced Power Query
  5. Data Model for Power BI
Protected Files
ตัวอย่าง