在Power BI中根据用户选择动态生成带过滤条件的报表URL (Dynamic URL Link)

Power BI Online Service前几个与的更新中提供了一个新功能:Filter a report using query string parameters in the URL,也就是允许用户对发布到Power BI Service的报表URL后添加一些过滤条件,使得Power BI可以根据这些条件去过滤当前Report内容,这样当用户通过这个包含Filter的URL来访问Power BI数据时,就只会看到过滤后的信息,方便Report的共享和使用。

这个新功能操作也比较简单,就是在Power BI Online上面找到你要添加过滤条件的Report。在Report URL后面添加?filter=;之后以Table/Field格式填写要过滤的表单下面的具体列名,然后添加空格,再接过滤操作标签,例如 eq(等于)ne(不等于),再接空格,最后用单引号包裹过滤条件即可(即Field列下的具体值)。
大概格式如下

https://app.powerbi.com/groups/me/reports/69822dbc-3a60-4567-a532-98811b95bc11/ReportSection2?filter=Gender/Gender eq 'Male'

在这里插入图片描述
有几点需要注意的地方:

  1. 此处需要使用Report URL,使用基于该Report生成的Dashboard URL来设置过滤条件是不奏效的。
  2. Table和Filed名大小写敏感,必须跟表单名称一直,否则不奏效。
  3. 操作符前后必须有空格,不能省略。
  4. 过滤条件必须用单引号包裹,否则Power BI无法识别。

URL过滤生效之后在Power BI Online Service Report管理页面能看到,Filters状态栏下被过滤的Field当中只剩下了过滤后的选项,不符合过滤条件的值被隐藏,并且这种隐藏无论是Basic Filtering还是Advanced Filtering下都生效。这就意味着通过这个过滤URL来查看报表的用户,无法通过在报表中修改过滤项来更改报表筛选结果。

以上的功能都需要手动配置,如果想让Power BI根据用户选择,自动生成相应的URL过滤选项,则需要借助通过几个DAX表达式来实现。方法如下:

  1. 首先需要保证Power BI Desktop是2018年8月份或者以后Release的版本。想要判断是否安装的是8月份release以后的版本也很简单,可以看一下File控制面板下是否有Export to PDF功能,有的话就符合要求,没有的话就需要安装最新版本。
    在这里插入图片描述
  2. Copy一下Report URL,在结尾处添加?filter这几个关键字,之后输入数据,新建一个表单,里面只包含一行数据,即当前这个修改过后的Report URL。
    在这里插入图片描述
  3. 有了这个URL之后就可以开始在后面添加过滤条件,由于要实现根据用户选择动态更改过滤条件,这就只能通过创建度量值来实现该功能。因此,先要做一下准备,将URL从新建的这个表单中提取出来存放到一个度量值当中,此处可以使用SELECTCOLUMNS 来实现。
ReportURL =
SELECTCOLUMNS ( 'URL', "NewURL", 'URL'[URL] )
  1. 接下来就可以做拼接过滤选项部分,先用SELECTEDVALUE函数来获取用户对某一个列值的选择,之后再根据URL添加Filter条件的格式,将获取到的用户选项拼接到ReportURL这个结果后面即可。先做只有Gender一个选项的Filter URL。
FilterURL =
[ReportURL] & "Gender/Gender eq "
    & "'"
    & SELECTEDVALUE ( Gender[Gender] )
    & "'"

在这里插入图片描述
6. 如果想要再追加一个Region作为过滤条件,可以在按照之前格式用SELECTEDVALUE获取Region VALUE,之后添加到之前的公式当中。为了防止出现URL非法的情况,可以追加一个IF判断。

FilterURL =
[ReportURL] & "Gender/Gender eq "
    & "'"
    & SELECTEDVALUE ( Gender[Gender] )
    & "'"
    & IF (
        ISBLANK ( SELECTEDVALUE ( BU[Region] ) ),
        "",
        " and BU/Region eq " & "'"
            & SELECTEDVALUE ( BU[Region] )
            & "'"
    )

在这里插入图片描述
7. URL生成之后,选择FilterURL这个度量值,然后将它的类型转换成WebURL格式,这样就表单中的URL就可以变成hyperlink,被直接点击使用了。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值