從本文開始合并之前的三篇文章并入一個系列《PowerBI & Excel CEO 駕駛艙》。 第四彈 - Excel 相對日期區(qū)間(也就是本文) 也許您從純辦公進(jìn)入PowerBI領(lǐng)域,在這個系列中,我們也會分享如果用極簡的工程式方法來不斷優(yōu)化迭代一個小項目。 本文主要是:【Excel版】PowerBI & Excel CEO 駕駛艙 - 0.2.00 - 190810 - 加入:相對日期XTD 的實現(xiàn)。 效果也就是,用戶選擇:【截止到】【相對于】【XTD區(qū)間】系統(tǒng)應(yīng)該自動計算近期結(jié)果并與上期做出實時比對以幫助決策者快速制定調(diào)整策略。 這與【Excel版】的歷史分析一起配合,如下: 整個Excel文件也得到整理: 數(shù)據(jù)模型在 Excel 數(shù)據(jù)模型中,如下: 除了此前的日期區(qū)間,本次加入相對日期區(qū)間。 相對日期區(qū)間我們知道在 Excel 的數(shù)據(jù)模型中是無法實現(xiàn) 雙向篩選 的,為此,我們的計算公式需要有些調(diào)整,如下: KPI.Period.XTD:=CALCULATE( [KPI.Core] , CALCULATETABLE( '日期' , 'DatePeriod XTD' ) ) 這非常簡單,我們使用 CALCULATETABLE 來計算根據(jù)用戶實時選擇的區(qū)間,再計算 KPI。 對于相對應(yīng)的上期,如下:
感謝楊總指出這里根本不應(yīng)該讓用戶選擇對比的上期,而應(yīng)該根據(jù)XTD的類型自動匹配到合理的上期。 我們放大其中的一個邏輯如下: IF ( XTD = '當(dāng)日' ) 與當(dāng)日相對比的應(yīng)該是上一日,因此邏輯必然有:DATEADD( ‘日期’[日期] , -1 , DAY )。這里指的一提的是,由于在Excel的數(shù)據(jù)模型中無法使用雙向篩選,因此,我們需要借助 相關(guān)技巧 - 數(shù)據(jù)區(qū)域的安排為了更好的利用 Excel 的空間,我們合理的使用區(qū)域: 相關(guān)技巧 - 顯示區(qū)間范圍我們需要知道日期區(qū)間的范圍,如下: 因為用戶選擇了日期,以上顯示了日期;而如果用戶選擇了日期區(qū)間呢,如下: 如何知道切片器選擇的日期范圍呢?另外這里并沒有使用透視表,如何實現(xiàn)呢? 相關(guān)技巧 - Excel CUBE 函數(shù)這是一類非常重要的主題,Excel提供了一組非常重要的函數(shù)可以直接與數(shù)據(jù)模型交互,它們就是CUBE函數(shù),CUBE函數(shù)非常簡單,完全可以由智能提示完成,如下:
編寫的時候也容易,有充分的智能提示,如下: 以及: 因此,這是非常容易的。 用IBCS規(guī)范進(jìn)行優(yōu)化細(xì)心的伙伴已經(jīng)看到,我們使用了符合IBCS規(guī)范的ZebraBI對Excel進(jìn)行了優(yōu)化。 這里展示全部優(yōu)化后的樣子: 【歷史分析】 【近期分析】 解決動態(tài)化難題什么是動態(tài)化?看視頻: 在【歷史分析】中使用ZebraBI,由于X軸的元素多少會變化,如:季度是4個柱子;而月份是12個柱子;這導(dǎo)致ZebraBI無法正確顯示,出現(xiàn)問題如下: 由于ZebraBI的X坐標(biāo)軸無法動態(tài)得到個數(shù),但似乎您并沒有看到我們存在這個問題,因為我們使用動態(tài)圖片的方式將其化解: 這樣,我們就得到了動態(tài)坐標(biāo)軸的保證。 總結(jié)至此,CEO 駕駛艙更近一步,我們實現(xiàn)了:
當(dāng)然,我們還有一些優(yōu)化會進(jìn)一步擴(kuò)展,這些我們在后續(xù)文章進(jìn)一步更新。 案例源文件已經(jīng)共享至 訂閱會員專區(qū),祝大家玩得開心。 |
|