Power BI 不同的人报告默认界面不同

背景:

  1. 报表包含所有地区、所有年份
  2. 用户希望进入页面后 ,不同区域的主管 默认自动显示对应管理地区的信息
    如A区经理一打开报表,就是A区的信息 最新年份,而不用手动再筛选区域

思路:

1)有一个默认配置表,一打开的时候 运行默认配置表,用户筛选后 根据筛选显示结果。
2)通过iscrossfiltered,可以判断当前是否有筛选器起作用。判断如果有筛选器起作用,则按筛选器走;否则按照默认配置表
3)如果每个measure都按这么逻辑判断一下,那么会很复杂;可以用计算组解决这个问题

做法:

1)数据准备


image.png

image.png

image.png

image.png

image.png

2)关系构建


image.png

在原有的模型上,加了两个默认显示配置表,关系流向是从配置表到维度表
3)打开tabular editor
新建计算组(我起名叫DefultView)

然后新建一个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[地区] ), ALLSELECTED () )
VAR useDefultDistrict =
    CALCULATETABLE (
        VALUES ( DefaultDistrict[District] ),
        DefaultDistrict[USER] = USERPRINCIPALNAME ()
    )
VAR DistricToUse =
    FILTER (
        VALUES ( STORE[地区] ),
        DistrictAlreadyFiltered
            || STORE[地区] IN useDefultDistrict
    )
VAR result =
    CALCULATE ( SELECTEDMEASURE (), YearsToUse, DistricToUse )
RETURN
    result

然后新建一个NO item:(意思是不启用Default显示)

SELECTEDMEASURE()
image.png

保存并应用

另外新建一个显示栏,告知用户当前正在浏览的筛选范围

Measure.show = 
VAR District =
    IF (
        ISCROSSFILTERED ( STORE[地区] ),
        "District:" & CONCATENATEX ( VALUES ( STORE[地区] ), STORE[地区], ", " ),
        "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

测试:

以其他身份查看


image.png
image.png

image.png

image.png

image.png

不算Bug的bug

全选状态下,地区还是只显示了默认配置


image.png

而我通过多选,每一个都点击后,是可以正常显示筛选项的


image.png

因为全选时 没有筛选 公式里Iscrossfiltered的不起作用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容