PowerBI-將日期轉換為星期 (附日期轉換表 & 自定義數字格式 & 轉換函數)


日期格式轉換表:



自定義格式轉換:

=FORMAT(SUM(Table[Field]),"0.00%") 

 



基礎函數之轉換函數:



實踐 #1:

表:表有字段From_Date,Week_Code (1-7)

需求:添加切片器WEEKDAY顯示值Monday,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday。
  選擇Monday時,顯示每月最后一個禮拜一的數據。

實現方式一:

 1,SQL只提取每月最后一周的數據
  2,添加計算列 weekday1,表達式如下:

Weekday1 = IF('Bonus'[WEEK_CODE]="7","Sunday",
IF('Bonus'[WEEK_CODE]="6","Saturday",
IF('Bonus'[WEEK_CODE]="5","Friday",
IF('Bonus'[WEEK_CODE]="4","Thursday",
IF('Bonus'[WEEK_CODE]="3","Wednesday",
IF('Bonus'[WEEK_CODE]="2","Tuesday",
IF('Bonus'[WEEK_CODE]="1","Monday",
"Blank"
)))))))

 3, 將weekday1 設置為切片器后,排序亂了

  解決:選擇字段,點擊按列排序,選擇Week_Code,保存后切片器按1-7排序


實現方式二: 

  添加計算列weekday2,表達式如下:

weekday2 = Format('Bonus'[FROM_DATE],"DDDD")

  效果與方式一一樣。

   但是這個表達式不適用於直連模式

         



實踐 #2 - 歷史周顯示每周最后一天的數據,本周顯示所有天的數據
 需求: 添加WeekFilter,過去周顯示每周最后一天的數據,本周顯示所有天的數據

實現步驟:
Step1 - 寫SQL在D_Date表里添加Week_code

CASE
 WHEN DAY_OF_WEEK = 'Sunday' THEN 1
 WHEN DAY_OF_WEEK = 'Monday' THEN 2
 WHEN DAY_OF_WEEK = 'Tuesday' THEN 3
 WHEN DAY_OF_WEEK = 'Wednesday' THEN 4
 WHEN DAY_OF_WEEK = 'Thursday' THEN 5
 WHEN DAY_OF_WEEK = 'Friday' THEN 6
 WHEN DAY_OF_WEEK = 'Saturday' THEN 7 --Saturday 為每周最后一天
END AS WEEK_CODE

Step2 - 在D_Date表添加計算列,將本周的weekcode置為 7

Week_Filter =
Var dateweek = YEAR('D_DATE'[DAY_DATE])*100 + WEEKNUM('D_DATE'[DAY_DATE])
Var thisweek= YEAR(NOW()) *100 + WEEKNUM(NOW())
RETURN
IF(dateweek = thisweek,7,'D_DATE'[WEEK_CODE])

Step3 - 在視圖頁面添加Filter ,Week_code = 7
實現結果:

 

 

 

感謝所有指點小萌新的大神們。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM