#Powerbi函数学习 SELECTEDVALUE与ISFILTERED
Power BI中的DAX函数ISFILTERED可以用来判断一个表或者一个列是否被筛选器所影响。
这个函数的语法很简单,就是ISFILTERED(<table_or_column_name>),返回值是TRUE或者FALSE。那么,这个函数有什么用呢?我们来看一个例子。
第一步:数据源和基础度量值准备
假设我们有一个销售数据表,其中包含了销售人员、销售总和、月度提成等字段。我们想要创建一个度量值,用来计算不同产品的销售总额。我们可以使用SUM函数,如下:

(模拟的数据)
销售总和 = SUM('业绩表'[销售业绩])
月度提成 = SWITCH(TRUE(),
[销售总和]<=20000,[销售总和]*0.01,
[销售总和]<=50000,[销售总和]*0.015,
[销售总和]>50000,[销售总和]*0.02)
分别计算销售总和和分别对应的月度提成,计算提成用了switch函数,判断条件乘以对应的提成系数,这里小于2万提成1%,小于5万提成1.5%,大于5万提成2%。
第二步:假设需求
现在需要根据切片器,更改图表展示数据。如下图
第一种情况,选择业绩时,柱形图展示业绩部分。

第二种情况,选择提成时,柱形图展示提成部分。

第三步:实现操作
3.1 切片器准备

新增一个表,用作筛选器。
3.2 切换度量值准备
切换 = IF(ISFILTERED('切片器'[切片器]),SWITCH(SELECTEDVALUE('切片器'[切片器]),
"提成", [月度提成],
"业绩", [销售总和]),[销售总和])
新增切换度量值,简单来说就是。
SELECTEDVALUE函数,是“提成”被选中了,那么就以月度提成这个度量值来进行计算,返回值。如果是“业绩”被选中了,那么就以销售总和来计算,并返回值。
ISFILTERED函数,去检查我们的切片器是否有被使用,如果被使用了,返回true,执行selectedvalue函数代码,配合IF函数,没有被选中,就直接根据销售总和来返回值。
3.3 导入图表
载入柱形图,载入切片器,分别载入统计纬度。现在当前状态,我们没有选择切片器,图表返回的是销售总和。

选择提成时,如下

选择业绩时,如下

达到了我们开头需要的功能。灵活使用SELECTEDVALUE以及ISFILTERED,可以节约一部分我们的展示空间,在有限的展示面积中,更全面的展示我们的数据。
以上就是今天的分享,我是simone,期待下次分享。
#Powerbi函数学习 SELECTEDVALUE与ISFILTERED的更多相关文章
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- Drools 函数学习
Drools 函数学习 函数是定义在规则文件当中一代码块,作用是将在规则文件当中若干个规则都会用到的业务操作封装起来,实现业务代码的复用,减少规则编写的工作量.函数的编写位置可以是规则文件当中 pac ...
- C语言(函数)学习之strstr strcasestr
C语言(函数)学习之[strstr]&[strcasestr]一.strstr函数使用[1]函数原型char*strstr(constchar*haystack,constchar*needl ...
- Java中的回调函数学习
Java中的回调函数学习 博客分类: J2SE JavaJ# 一般来说分为以下几步: 声明回调函数的统一接口interface A,包含方法callback(); 在调用类caller内将该接口设置 ...
- Theano.tensor.round函数学习,同时解决输出Elemwise{xxx,no_inplace}.0的问题
1. 出现Elemwise{xxx,no_inplace}.0 这是因为没有定义theano.function所致,参考下面错误示范: y = np.random.normal(size=(2,2 ...
- C++学习基础十六-- 函数学习笔记
C++ Primer 第七章-函数学习笔记 一步一个脚印.循序渐进的学习. 一.参数传递 每次调用函数时,都会重新创建函数所有的形参,此时所传递的实参将会初始化对应的形参. 「如果形参是非引用类型,则 ...
- pythone函数基础(8)内置函数学习
内置函数学习# sorted# map# filter# max# sum# round# chr# ord# dir# bool# eval# exec# zipimport mathres = m ...
- Javascript 随机数函数 学习之二:产生服从正态分布随机数
一.为什么需要服从正态分布的随机函数 一般我们经常使用的随机数函数 Math.random() 产生的是服从均匀分布的随机数,能够模拟等概率出现的情况,例如 扔一个骰子,1到6点的概率应该相等,但现实 ...
- Javascript 随机数函数 学习之一:产生服从均匀分布随机数
大家都知道Math.random是 javascript 中返回伪随机数的函数,但查看 MDN, The Math.random() function returns a floating-point ...
- Linux内核的ioctl函数学习
Linux内核的ioctl函数学习 来源:Linux公社 作者:Linux 我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围.为什 ...
随机推荐
- P2962 [USACO09NOV]Lights G(Meet In The Middle)
[USACO09NOV]Lights G 题目描述 给出一张n个点n条边的无向图,每个点的初始状态都为0. 你可以操作任意一个点,操作结束后该点以及所有与该点相邻的点的状态都会改变,由0变成1或由1变 ...
- C++ accumulate()函数的用法
accumulate定义在 numeric 中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理. 头文件 #include <numeric> 原型 默认求累加和 templat ...
- 【LuckyFrame研究】环境准备
LuckyFrame官方使用手册:http://www.luckyframe.cn/book/yhsc/syschyy-24.html LuckyFrame在码云平台或是GitHub上都是分成二个项目 ...
- python之序列化与反序列化
#!/usr/bin/env python# -*- coding:utf-8 -*-#Author:QiFeng Zhang'''序列化反序列化之json应用'''import json #导入js ...
- nginx配置https详细过程
准备工作 需要先准备好你域名对应的证书和私钥,也就是cert证书和key.我部署是很常见的ng+tomcat双层配置,ng作为前端的代理,所以tomcat就不需要自己处理https,ng作为代理以ht ...
- @Valid 注解类型参数校验
<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api& ...
- Spring--bean管理(easy)
bean作用范围 利用同一个BookDao设置出来两个不同的对象,得到相同的地址: (默认为单例,即表现为同一个地址) 要是想要得到不同的地址,就需要我们在接口实现类的上面加上这样一个注解:(双例) ...
- Go语言:利用 TDD 驱动开发测试 学习结构体、方法和接口
环境安装: (新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 上一篇相关随笔: Go语言:利用 TDD 测试驱动开发帮 ...
- 5分钟带你彻底搞懂async底层实现原理!
ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖.研究 async 的原理,就必须先弄清楚 Genera ...
- JMM内存模型
● 说说JVM的主要组成部分以及作用? 类加载器.运行时数据区.执行引擎.本地库接口 类加载器子系统 它主要功能是处理类的动态加载,还有链接,并且在第一次引用类时进行初始化. Loading - 加载 ...