PowerBI之時間智能函數詳解(三)


  通過前面兩節對時間智能函數的講解,想必大家都這個能稱之為PBI任督二脈的時間智能函數已經了解得差不多了吧!那本節還有最后幾個函數給大家收個尾!看完本節,從此大家就可以修練自己的蓋世神功了。

 

 

 

 

   1、SAMEPERIODLASTYEAR      返回當前篩選上下文中前一年的一組日期

  語法:

SAMEPERIODLASTYEAR ( <日期列> )

  兄弟們,別看這個函數的語法簡單,但是它的使用率可不低哦,至少在我的工作中是這樣的。簡單理解它就是一個計算去年同比的函數。

  老規矩,我們還是通過一個實際案例來說明吧。

  

 

  大家看到有這樣的一個數據,只有上海的7月1日-7月3日有20年的數據,其余都是21年數據。那我們試試SAMEPERIODLASTYEAR的用法吧

SAMEPERIODLASTYEAR = CALCULATE(sum('業務表'[件量]),SAMEPERIODLASTYEAR('業務表'[日期]))

  

  大家看到只有20年有的日期才會返回結果,否則一律返回空。不知道大家有沒有學廢這個函數。那有了年同比,是不是應該有季同比、月同比、周同比啥的呢?在這里很遺憾的告訴大家,沒有!!!它就是個獨子,為什么呢。我個人猜想會不會是由於已經有了DATEADD、FIRSTNONBLANK等等好多函數都能滿足這些同比功能,所以就沒有開發了。不過如果僅僅只是計算年同比的話,我還是覺得SAMEPERIODLASTYEAR更加簡單方便。

   2、TOTALMTD      在當月至今的所有日期中計值表達式。

  語法:

TOTALMTD ( <表達式>, <日期列>, [<篩選器>] )

  那通過注釋和長相,這個函數是不是有點似曾相識呢?沒錯,就是前面講過的DATESMTD / DATESQTD / DATEYTD。那今天的這個TOTALMTD可比他們的功能強大多了,當然也會復雜那么一點點,不過 只要掌握了那這些都不是事。那么它到底強大在哪里呢?我們直接上案例吧!

TOTALMTD = TOTALMTD(sum('業務表'[件量]),'業務表'[日期])

 

  可以看出它能通過行上下文對件量做一個累加,這里確實和DATESMTD效果一樣。但是同樣是累加函數,TOTALMTD是不是就不用CALCULATE的協助了,完全能夠自給自足。

  

  如上圖所示,我把第三參數的篩選器帶上后,那么結果只反饋被篩選了的結果。

 

 

  如果沒有其它篩選上下文,則默認展示最后一個月份的所有件量相加。

  怎么樣這個函數是不是又為你解決了不少麻煩呢,既然這么好用,怎么可能會沒有兄弟呢,同樣與它類似的還是TOTALQTD、TOTALYTD,不用解釋大家就會知道一個是季累加一個是年累加。在用法上和TOTALMTD是一樣的,我就不講了。

   3、PARALLELPERIOD      根據當前上下文中的日期和給定的時間間隔,返回一組並行的完整日期周期。

  語法: 

PARALLELPERIOD ( <日期列>, <偏移量>,Month/ Quarter/Year)

  講到這個函數,我一驚,是不是很前面有個函數用法一模一樣的啊!可能就是前面的第三參數多了一個DAY的選擇。

DATESINPERIOD ( <日期列>, <起始日期>, <偏移量>,Day/Month/ Quarter/Year)

  既然這樣那我就不再廢話,給大家羅里吧嗦的了啊。

 

  總結:講到這里,所有的時間智能函數就都給大家過了一遍。恭喜你們已打開任督二脈。接下來什么降龍十八掌、凌波微步等等等等,就看我們想不想練了。不吹牛逼了!最后還是給大家做個總結吧!

  1、建議一定要搞透的函數:DATEADD、DATESBETWEEN、TOTALMTD(以及它的兄弟)、SAMEPERIODLASTYEAR

  2、基本所有時間智能函數都能返回一個表,除了TOTALMTD(以及它的兄弟)

  3、CLOSINGBANLANCE、FIRSTNONBLANK、LASTNONBLANK可以返回任意數據類型,比如數字、日期、文本等。

  4、FIRSTDATE、LASTDATE返回的只是一個日期。

   大家一定要記住:所有的這些函數一定要多看,多練,多比,找出它們的相同點和不同點,最后咱們用起來的時候才會游刃有余,不至於走火入魔。時間智能函數到這里就徹底結束了,感謝大家的閱讀。


免責聲明!

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



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