如何实现Power BI报告中用户凭个人ID查自身结果且隐藏其他ID
解决方法
下面两个方案都能实现“仅让参与者输入自身ID查看结果,不暴露其他ID”的需求:
方案一:文本输入参数+视觉对象筛选
这是最直接的无代码方案,不用修改数据模型:
- 点击Power BI菜单栏的「建模」→「新建参数」,类型选文本,取消勾选“允许值列表”,只保留“允许手动输入”,参数名称设为「个人参与ID输入」,默认值留空。
- 给所有展示个人问卷结果的视觉对象(比如个人得分卡片、作答详情表格)添加视觉级筛选:
选择'问卷数据表'[参与者ID],条件设为「等于」,然后选择刚才创建的参数「个人参与ID输入值」。
- 给所有展示个人问卷结果的视觉对象(比如个人得分卡片、作答详情表格)添加视觉级筛选:
- 把参数的输入框拖到报告页面合适位置,参与者只需粘贴自己的ID,按回车就能看到个人结果,全程不会看到其他参与者的ID。
- 注意:展示平均结果的视觉对象不要加这个筛选,保持原样即可。
方案二:DAX度量值控制显示
如果需要更灵活的逻辑(比如输入错误ID时提示无结果),可以用这个方法:
- 先手动创建一个单列表(命名为「输入表」),只留一行空值,导入Power BI中。
- 把「输入表」的唯一字段拖到页面上,改成文本输入切片器(在切片器格式设置里选择“文本输入”模式)。
- 创建一个DAX度量值:
仅显示匹配结果 = VAR 输入ID = SELECTEDVALUE('输入表'[输入字段]) RETURN IF(ISBLANK(输入ID), 0, IF(MAX('问卷数据表'[参与者ID]) = 输入ID, 1, 0))- 给个人结果的视觉对象添加筛选,设置
仅显示匹配结果 = 1,这样只有输入ID匹配的行才会显示;输入空值时个人结果区域会隐藏,避免混乱。
- 给个人结果的视觉对象添加筛选,设置
这两个方案都彻底规避了下拉菜单暴露其他ID的问题,参与者只能手动输入/粘贴自己的ID,完全看不到其他人的信息。
内容的提问来源于stack exchange,提问作者sopwith
相关产品推荐
相关产品推荐

