Power BI 不同的人報(bào)告默認(rèn)界面不同

背景:

  1. 報(bào)表包含所有地區(qū)、所有年份
  2. 用戶希望進(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的不起作用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容