背景:
- 報(bào)表包含所有地區(qū)、所有年份
- 用戶希望進(jìn)入頁(yè)面后 ,不同區(qū)域的主管 默認(rèn)自動(dòng)顯示對(duì)應(yīng)管理地區(qū)的信息
如A區(qū)經(jīng)理一打開(kāi)報(bào)表,就是A區(qū)的信息 最新年份,而不用手動(dòng)再篩選區(qū)域
思路:
1)有一個(gè)默認(rèn)配置表,一打開(kāi)的時(shí)候 運(yùn)行默認(rèn)配置表,用戶篩選后 根據(jù)篩選顯示結(jié)果。
2)通過(guò)iscrossfiltered,可以判斷當(dāng)前是否有篩選器起作用。判斷如果有篩選器起作用,則按篩選器走;否則按照默認(rèn)配置表
3)如果每個(gè)measure都按這么邏輯判斷一下,那么會(huì)很復(fù)雜;可以用計(jì)算組解決這個(gè)問(wèn)題
做法:
1)數(shù)據(jù)準(zhǔn)備

image.png

image.png

image.png

image.png

image.png
2)關(guān)系構(gòu)建

image.png
在原有的模型上,加了兩個(gè)默認(rèn)顯示配置表,關(guān)系流向是從配置表到維度表
3)打開(kāi)tabular editor
新建計(jì)算組(我起名叫DefultView)
然后新建一個(gè)item: "Yes" (意思是啟用default顯示)
VAR YearsAlreadyFiltered =
CALCULATE ( ISCROSSFILTERED ( 'Calendar'[YearName] ), ALLSELECTED () )
VAR UseDefaultYears =
CALCULATETABLE (
VALUES ( DefaultYear[year] ),
DefaultYear[USER] = USERPRINCIPALNAME ()
)
VAR YearsToUse =
FILTER (
VALUES ( 'Calendar'[YearName] ),
YearsAlreadyFiltered
|| 'Calendar'[YearName] IN UseDefaultYears
)
VAR DistrictAlreadyFiltered =
CALCULATE ( ISCROSSFILTERED ( STORE[地區(qū)] ), ALLSELECTED () )
VAR useDefultDistrict =
CALCULATETABLE (
VALUES ( DefaultDistrict[District] ),
DefaultDistrict[USER] = USERPRINCIPALNAME ()
)
VAR DistricToUse =
FILTER (
VALUES ( STORE[地區(qū)] ),
DistrictAlreadyFiltered
|| STORE[地區(qū)] IN useDefultDistrict
)
VAR result =
CALCULATE ( SELECTEDMEASURE (), YearsToUse, DistricToUse )
RETURN
result
然后新建一個(gè)NO item:(意思是不啟用Default顯示)
SELECTEDMEASURE()

image.png
保存并應(yīng)用
另外新建一個(gè)顯示欄,告知用戶當(dāng)前正在瀏覽的篩選范圍
Measure.show =
VAR District =
IF (
ISCROSSFILTERED ( STORE[地區(qū)] ),
"District:" & CONCATENATEX ( VALUES ( STORE[地區(qū)] ), STORE[地區(qū)], ", " ),
"All Countries"
)
VAR Years =
IF (
ISCROSSFILTERED ( 'Calendar'[YearName] ),
"Years: " & CONCATENATEX ( VALUES ( 'Calendar'[YearName] ), 'Calendar'[YearName],", "),
"All Years"
)
VAR result = "Showing " & District & " and " & Years
RETURN
result
測(cè)試:
以其他身份查看

image.png

image.png

image.png

image.png

image.png
不算Bug的bug
全選狀態(tài)下,地區(qū)還是只顯示了默認(rèn)配置

image.png
而我通過(guò)多選,每一個(gè)都點(diǎn)擊后,是可以正常顯示篩選項(xiàng)的

image.png
因?yàn)槿x時(shí) 沒(méi)有篩選 公式里Iscrossfiltered的不起作用