附1:日期時間函數
附2:時間智能函數
實踐#1 -驗證PREVIOUSMONTH是否受ALL的影響
“ 當使用時間智能函數時,公式都更改了日期表的篩選上下文,從而得到不同於初始篩選上下文的計值結果。在使用支持報表鑽取操作的客戶端(例如 Excel 中的數據透視表)時,你可以觀察到意料之外的結果:明細數據只受到來自外部的篩選上下文的影響。原因是鑽取操作由 MDX 執行,它不考慮度量值內部定義的篩選上下文,而只接受由透視表的行、列、過濾器和切片器定義的篩選上下文環境。”
從結果來看,Previousmonth 沒受 ALL('Date') 的影響
實踐#2 - 無日期切片器,計算當前Season的銷售量
本季度 = //獲取當前月份 VAR cur_month = FORMAT(TODAY(),"YYYYMM") //獲取當前季度 VAR Cur_Season = CALCULATE( SELECTEDVALUE(D_DATE[Season]), 'D_DATE'[MONTH2] = cur_month) Return //求當前季度的總銷售量 CALCULATE(SUM(F_SALES[SALES_QTY]),D_DATE[Season] = cur_season)