PowerBI 度量值不被切片器筛选

news2024/11/18 1:36:54

我们有这样一张表:

我们用一个切片器绑定'奖金表'[奖金],就可以用表格来联动显示数据:

现在用户有个新的需求,当单选某个奖金时,需要统计小于这个奖金数的人数。

我用了一个度量值来统计:

度量值 = 
VAR selected_bonus = SELECTEDVALUE('奖金表'[奖金])
VAR first = MIN('奖金表'[奖金])
VAR filter_items = FILTER('奖金表',
                          '奖金表'[奖金]>=first && 
                          '奖金表'[奖金]<selected_bonus)
RETURN
    CALCULATE(COUNT('奖金表'[姓名]), filter_items)

然而结果却是显示空白

数据里明明有奖金小于3000的人,但是为什么统计不出来呢?

原因是因为切片器和表格都绑定了同一张表,所以表会自动根据切片器进行筛选。切片器把奖金不等于3000的数据都过滤掉了,这里当然统计不出来。

假如删除筛选,度量值又无法通过SELECTEDVALUE()去获取切片器的值。如此矛盾的情景,怎么办呢?

解决方法:

我们新建一个计算表‘奖金表2’,获取一个不带任何筛选的奖金表,然后再用它进行度量值的运算就可以解决了。

新建表:

奖金表2 = CALCULATETABLE('奖金表', ALL('奖金表'))

修改度量值,使用'奖金表2'去进行统计运算 (获取切片器值的方式不变)

度量值 = 
VAR selected_bonus = SELECTEDVALUE('奖金表'[奖金])
VAR first = MIN('奖金表2'[奖金])
VAR filter_items = FILTER('奖金表2',
                          '奖金表2'[奖金]>=first && 
                          '奖金表2'[奖金]<selected_bonus)
RETURN
    CALCULATE(COUNT('奖金表2'[姓名]), filter_items)

成功!

接着我们再更改下需求,我们添加一个部门列

然后再添加一个可以多选的部门切片器。将两个切片器的交互修改为互不筛选。

我们希望在保持奖金切片器的筛选逻辑不变的情况下,只统计选中部门的人数

这时我们发现统计人数又是空白了。

原因是我们的计算表是返回无任何筛选的表(ALL),所以解决方法是,我们在内部筛选里加上对部门的筛选即可:

度量值 = 
VAR selected_bonus = SELECTEDVALUE('奖金表'[奖金])
VAR first = MIN('奖金表2'[奖金])
VAR filter_items = FILTER('奖金表2',
                          '奖金表2'[奖金]>=first && 
                          '奖金表2'[奖金]<selected_bonus &&
                          '奖金表2'[部门] IN VALUES('奖金表'[部门]))
RETURN
    CALCULATE(COUNT('奖金表2'[姓名]), filter_items)

但是修改后,发现统计人数仍然不对。

我们来检查一下,把度量值返回的值修改下,我们看看选中的部门是什么:

奇怪的是,我们明明选择了所有部门,但是得到的部门只有"销售部",因为我们另外选择了奖金=3000,而只有销售部的小陈才满足奖金=3000。虽然设置了切片器互不筛选,但是因为两个切片器都绑定的是一张表(如果这张表是由多张表合并查询的也不行,只要是一张表就不行),所以仍然进行了筛选。

我这里找到最简单的办法,就是再复制一张'奖金表_copy',一个切片器用'奖金表',一个切片器用'奖金表_copy'就行了:

测试正确:

RETURN
    CONCATENATEX(VALUES('奖金表_copy'[部门]),[部门],",")

当然,这里用计算表'奖金表2'也是可以的,因为它是不带任何筛选的。

假如数据源是数据库,我们设计表时就把奖金,部门分别在两个表里。这样两个切片器绑定的是不同的表,就不会出现上面的问题。

比如: 奖金切片器 -> 'T_奖金表'

            部门切片器 -> 'T_部门表'

哪怕'T_奖金表'是有'T_部门表'的合并查询也行,只要不是一张表就行

完整代码:

度量值 = 
VAR selected_bonus = SELECTEDVALUE('奖金表'[奖金])
VAR first = MIN('奖金表2'[奖金])
VAR filter_items = FILTER('奖金表2',
                          '奖金表2'[奖金]>=first && 
                          '奖金表2'[奖金]<selected_bonus &&
                          '奖金表2'[部门] IN VALUES('奖金表_copy'[部门]))
RETURN
    CALCULATE(COUNT('奖金表2'[姓名]), filter_items)

本人是powerbi新手,如果大家有更好的解决方法,也欢迎在评论区留言,大家共同学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1955811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全国区块链职业技能大赛样题第9套后端源码

后端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746050 前端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746216 智能合约+数据库表设计:https://blog.csdn.net/Qhx20040819/article/details/140746646 项目预览 登录 用户管理

vue3 快速入门 (五) : Flex布局

1. 如何变成Flex布局 变成Flex容器&#xff0c;只需在容器布局的节点的CSS中&#xff0c;增加display : flex .mylayout {/* 省略了其他代码 */display: flex; }2. flex direction : 方向 row : 以行排列 row-reverse &#xff1a; 以行反向排列 column &#xff1a;以列排列…

向日葵RCE复现(CNVD-2022-10270/CNVD-2022-03672)

一、环境 1.1 网上下载低版本的向日葵<2022 二、开始复现 2.1 在目标主机上打开旧版向日葵 2.2 首先打开nmap扫描向日葵主机端口 2.3 在浏览器中访问ip端口号cgi-bin/rpc?actionverify-haras &#xff08;端口号&#xff1a;每一个都尝试&#xff0c;直到获取到session值…

AJAX之原理

目录 XMLHttpRequest基本使用查询参数数据提交&#xff08;注册账号&#xff09; Promise基本语法Promise三种状态Promise链式调用 async函数和await XMLHttpRequest 基本使用 XMLHttpRequest对象用于与服务器交互 与axios关系&#xff1a;axios内部采用XMLHttpRequest与服务…

Elasticsearch:跨集群使用 ES|QL

警告&#xff1a;ES|QL 的跨集群搜索目前处于技术预览阶段&#xff0c;可能会在未来版本中更改或删除。Elastic 将努力解决任何问题&#xff0c;但技术预览中的功能不受官方 GA 功能的支持 SLA 约束。 使用 ES|QL&#xff0c;你可以跨多个集群执行单个查询。 前提&#xff1a; …

每天一个设计模式之命令模式(第二天)

交互模式中的命令模式&#xff0c;在开始记录之前&#xff0c;要讲些自己的感受&#xff0c;真真切切的感受到了悟性的瓶颈&#xff01;一共十页书&#xff0c;需要自己细细琢磨品味&#xff0c;至少三四遍才大概了解了他们间的逻辑&#xff0c;我需要调整下自己的学习思路&…

Lumos学习王佩丰Excel第七讲:认识公式与函数

一、认识Excel公式 1、运算符 运算符 作用 算术运算符 加 - 减 * 乘 / 除 % 百分比&#xff0c;相当于除以100 & 连接符&#xff0c;文本数字均可连接 ^ 乘方 比较运算符 等于 > 大于 < 小于 ≤ 小于等于 ≥ 大于等于 例1&#xff1…

python实现信号合成(DSP仿真系统)【1】

python实现信号合成(DSP仿真系统)【1】 1、效果图 2、功能结构 1、基础信号正弦波、脉冲函数、阶跃函数、斜坡函数、方波、sinc曲线、矩形波(非周期) 2、信号合成(叠加)叠加噪音 3、波形展示原始波形、叠加波形、FFT、PSD、卷积 4、各种滤波器4.1.限幅滤波器4.2.中位值滤…

【OSCP系列】OSCP靶机-BTRsys-2.1(原创)

OSCP系列靶机—BTRsys-2.1 原文转载已经过授权 原文链接&#xff1a;Lusen的小窝 - 学无止尽&#xff0c;不进则退 (lusensec.github.io) 一、主机发现 二、端口扫描 1、快速扫描 2、全端口扫描 3、服务系统探测 4、漏洞探测 80端口扫到了一些目录&#xff0c;有wordpress框…

CentOS7使用yum安装MySQL

废话不多说&#xff0c;直接上干货 1、CentOS7的yum源中默认是没有mysql的&#xff0c;我们先下载mysql的repo源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2、安装mysql-community-release-el7-5.noarch.rpm包 sudo rpm -ivh mysql-community-r…

算法通关:007时间复杂度和空间复杂度:生成相邻两数不相等的数组

生成相邻两数不相等的数组 全部代码&#xff1a; import java.util.Arrays;/*** Author: ggdpzhk* CreateTime: 2024-07-28* 随机生成数组&#xff0c;比如每个元素都在0-3之间&#xff0c;且相邻两个元素不相同*/ public class _007 {public static void main(String[] args)…

Redis:管道

1. 面试题 如何优化频繁命令往返造成的性能瓶颈&#xff1f; 问题由来 edis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。一个请求会遵循以下步骤&#xff1a; 1 客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果)&#xff0c;并监听Socket…

Vue.js 2 项目实战(九):商品列表

前言 Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。它的设计初衷是通过采用简洁且强大的结构&#xff0c;使前端开发变得更简单和高效。以下是对 Vue.js 的详细介绍&#xff1a; 核心特性 声明式渲染 Vue.js 使用声明式语法来描述用户界面&#xff0c;通过数据绑…

力扣刷题----42. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图&#xf…

经验分享:大数据信用报告可以查到什么?哪里能查大数据?

相信不少人都因为大数据信用不良碰过壁&#xff0c;这时候不少人反过来想要了解大数据信用报告可以查到什么?哪里能查大数据?其实大数据信用报告就是通过对个人在互联网上产生的各类行为数据收集、整合和分析&#xff0c;并基于此对个人信用状况进行评估和预测的一种检测工具…

Java之快速排序

快速排序 快速排序(Quick Sort)算法&#xff0c;简称快排&#xff0c;利用的是分治的思想。 快速排序思路&#xff1a; ​ 如果要对 first->end 之间的数列进行排序&#xff0c;我们选择 first->end 之间的任意一个元素数据作为分区点(轴值Pivot)&#xff0c;然后遍历 f…

【Qt】QLabel常用属性相关API

QLabel是Qt框架中用于显示文本或图案的小部件。在Qt应用程序中&#xff0c;QLabel是用来呈现静态文本或图像给用户的重要部分 QLabel属性陈列 属性说明textQLabel中的文本内容textFormat 文本的格式 Qt::PlainText 纯文本Qt::RichText 富文本Qt::MarkdownText markdown…

Transformer--输入部分

&#x1f3f7;️上文我们简单介绍了Transformer模型的总体架构&#xff0c;本章我们主要介绍其输入部分 &#x1f4d6;前言 &#x1f4d6;文本嵌入层的作用 &#x1f4d6;位置编码器的作用 &#x1f4d6;前言 输入部分主要包括源文本嵌入层以及位置编码器&#xff0c;目标文本…

【Vulnhub系列】Vulnhub_SecureCode1靶场渗透(原创)

【Vulnhub系列靶场】Vulnhub_SecureCode1靶场渗透 原文转载已经过授权 原文链接&#xff1a;Lusen的小窝 - 学无止尽&#xff0c;不进则退 (lusensec.github.io) 一、环境配置 1、从百度网盘下载对应靶机的.ova镜像 2、在VM中选择【打开】该.ova 3、选择存储路径&#xff0…

高效管理基础设施:掌握 Terraform 的 templatefile 函数技巧

由于Terraform的许可证变更&#xff0c;我曾经担心未来的动向&#xff0c;但IBM宣布收购HashiCorp后&#xff0c;我感到有所安心。我将继续关注相关动向。 本文将介绍Terraform的内置函数templatefile。 什么是templatefile函数&#xff1f; templatefile函数用于读取指定路…