DAX Time Intelligence ประโยชน์ และตัวอย่างการใช้งาน
![DAX Time Intelligence ประโยชน์ และตัวอย่างการใช้งาน](/sites/default/files/images/articles/dax-time-intelligence.png)
DAX Time Intelligence ประโยชน์ และตัวอย่างการใช้งาน
DAX ( Data Analysis Expression ) เป็นภาษาคำสั่งที่ใช้ในการคำนวณและวิเคราะห์ข้อมูลใน Power BI, Power Pivot ใน Microsoft Excel หรือ SQL Serverโดยมีความสามารถด้านนึงที่น่าสนใจมาก ๆ เกี่ยวกับการทำงานด้าน วันที่ เรียกว่า Time Intelligenceตัวอย่างฟังก์ชันที่ช่วยในการคำนวณข้อมูลเชิงเวลา
คำนวณรวมยอดขายตั้งแต่เริ่มต้นปีจนถึงวันที่กำหนด เช่น
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 ช่วยงานในธุรกิจ ได้แก่
- การวิเคราะห์ยอดขาย สามารถใช้ DAX Time Intelligence ในการคำนวณยอดขายตามช่วงเวลาต่างๆ เช่น ยอดขายรวมในเดือนที่ผ่านมา หรือเปรียบเทียบยอดขายระหว่างปีนี้กับปีก่อนหน้า
- การวิเคราะห์ผลตอบแทนการลงทุน ใช้ DAX Time Intelligence ในการคำนวณผลตอบแทนการลงทุนโดยใช้อัตราผลตอบแทนรายปี สามารถวิเคราะห์ผลตอบแทนการลงทุนตามเวลาและเปรียบเทียบกับการลงทุนในสินทรัพย์อื่นๆ ได้
- การวิเคราะห์แนวโน้มการเติบโตของธุรกิจ ใช้ DAX Time Intelligence ในการวิเคราะห์แนวโน้มการเติบโตของธุรกิจและสามารถปรับแผนการทำงานในอนาคตได้ตามแนวโน้ม
- การวิเคราะห์ธุรกรรมทางการเงิน ใช้ DAX Time Intelligence ในการวิเคราะห์ธุรกรรมทางการเงิน เช่น การคำนวณเงินต้นและดอกเบี้ยในการกู้ยืมเงิน หรือการคำนวณค่าใช้จ่ายต่างๆ ในช่วงเวลาที่กำหนด
- การวิเคราะห์สัดส่วนผลตอบแทน ใช้ DAX Time Intelligence ในการคำนวณสัดส่วนผลตอบแทนของการลงทุนในช่วงเวลาที่กำหนด เช่น สัดส่วนผลตอบแทนรายเดือนของกองทุนรวม
- การวิเคราะห์การเปรียบเทียบผลประกอบการระหว่างรอบการบัญชี ใช้ DAX Time Intelligence ในการเปรียบเทียบผลประกอบการระหว่างรอบการบัญชีและวิเคราะห์แนวโน้มการเติบโตของธุรกิจ
ตัวอย่างการใช้งาน DAX Time Intelligence ในการเปรียบเทียบข้อมูลและวิเคราะห์แนวโน้ม ได้แก่
- เปรียบเทียบยอดขายระหว่างช่วงเวลา ใช้ DAX Time Intelligence ในการคำนวณยอดขายระหว่างช่วงเวลาที่ต้องการ เช่น เปรียบเทียบยอดขายเดือนนี้กับเดือนก่อนหน้า
- วิเคราะห์แนวโน้มการขาย ใช้ DAX Time Intelligence ในการคำนวณแนวโน้มการขาย เช่น วิเคราะห์การเปลี่ยนแปลงของยอดขายรายเดือนในช่วงเวลา 12 เดือน
- การวิเคราะห์ผลตอบแทนการลงทุน ใช้ DAX Time Intelligence ในการวิเคราะห์ผลตอบแทนการลงทุนในช่วงเวลา ตามระยะเวลาที่กำหนด เช่น วิเคราะห์ผลตอบแทนการลงทุนรายเดือน
- การเปรียบเทียบความสำเร็จของโครงการ ใช้ DAX Time Intelligence ในการเปรียบเทียบผลการดำเนินงานระหว่างช่วงเวลา เช่น วิเคราะห์ผลการดำเนินงานระหว่างไตรมาสที่ 1 และไตรมาสที่ 2
- การวิเคราะห์แนวโน้มของตลาด ใช้ DAX Time Intelligence ในการวิเคราะห์แนวโน้มของตลาด เช่น วิเคราะห์แนวโน้มการขายของสินค้า
- การวิเคราะห์สัดส่วนของผลตอบแทน ใช้ DAX Time Intelligence ในการคำนวณสัดส่วนผลตอบแทนของการลงทุนในช่วงเวลาที่กำหนด เช่น วิเคราะห์สัดส่วนผลตอบแทนรายเดือนของกองทุนรวม
- การวิเคราะห์ผลกระทบของโควิด-19 ใช้ DAX Time Intelligence ในการวิเคราะห์ผลกระทบของโควิด-19 ต่อธุรกิจและผลิตภัณฑ์ของบริษัท โดยการเปรียบเทียบผลการดำเนินงานระหว่างช่วงเวลาก่อนและหลังการระบาดของโควิด-19
![ตัวอย่างการใช้ Time Intelligence ใน Power BI](/sites/default/files/images/articles/ตัวอย่างการใช้ Time Intelligence ใน Power BI.png)
การกำหนดค่า Date Table
- ไปที่ตาราง Date Table
- Tab Table Tools > Mark as date table
- เลือก Field ที่เป็น Date column
![การ Mark as date table เพื่อกำหนด Date Dimension เพื่อทำ Time Intelligence](/sites/default/files/images/articles/การ Mark as date table เพื่อกำหนด Date Dimension เพื่อทำ Time Intelligence.png)
หมายเหตุ การสร้าง Date Dimension สามารถศึกษาได้จากบทความ การสร้าง DATE Dimension ของ Power BI
ตัวอย่างการคำนวณ DAX Time Intelligence
คำนวณยอดขายรวมของปีที่กำหนดTotal Sales YTD =
TOTALYTD(SUM(Sales[Sales Amount]),'Date'[DateKey])
Total Sales QTD =
TOTALQTD(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]))
)
)
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]))
)
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 สามารถนำเสนอแนวโน้มและข้อมูลเชิงเวลาได้อย่างมีประสิทธิภาพ และปรับปรุงการตัดสินใจของธุรกิจได้ดียิ่งขึ้น