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的更多相关文章

  1. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  2. Drools 函数学习

    Drools 函数学习 函数是定义在规则文件当中一代码块,作用是将在规则文件当中若干个规则都会用到的业务操作封装起来,实现业务代码的复用,减少规则编写的工作量.函数的编写位置可以是规则文件当中 pac ...

  3. C语言(函数)学习之strstr strcasestr

    C语言(函数)学习之[strstr]&[strcasestr]一.strstr函数使用[1]函数原型char*strstr(constchar*haystack,constchar*needl ...

  4. Java中的回调函数学习

    Java中的回调函数学习 博客分类: J2SE JavaJ#  一般来说分为以下几步: 声明回调函数的统一接口interface A,包含方法callback(); 在调用类caller内将该接口设置 ...

  5. Theano.tensor.round函数学习,同时解决输出Elemwise{xxx,no_inplace}.0的问题

    1. 出现Elemwise{xxx,no_inplace}.0   这是因为没有定义theano.function所致,参考下面错误示范: y = np.random.normal(size=(2,2 ...

  6. C++学习基础十六-- 函数学习笔记

    C++ Primer 第七章-函数学习笔记 一步一个脚印.循序渐进的学习. 一.参数传递 每次调用函数时,都会重新创建函数所有的形参,此时所传递的实参将会初始化对应的形参. 「如果形参是非引用类型,则 ...

  7. pythone函数基础(8)内置函数学习

    内置函数学习# sorted# map# filter# max# sum# round# chr# ord# dir# bool# eval# exec# zipimport mathres = m ...

  8. Javascript 随机数函数 学习之二:产生服从正态分布随机数

    一.为什么需要服从正态分布的随机函数 一般我们经常使用的随机数函数 Math.random() 产生的是服从均匀分布的随机数,能够模拟等概率出现的情况,例如 扔一个骰子,1到6点的概率应该相等,但现实 ...

  9. Javascript 随机数函数 学习之一:产生服从均匀分布随机数

    大家都知道Math.random是 javascript 中返回伪随机数的函数,但查看 MDN, The Math.random() function returns a floating-point ...

  10. Linux内核的ioctl函数学习

    Linux内核的ioctl函数学习 来源:Linux公社  作者:Linux 我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围.为什 ...

随机推荐

  1. TCP连接实践解析

    1.初始化. 2.FD_ISSET,是select机制的一个成员,用来检测sockfd是否有动作,对应读写异常等. 3.FD_ZERO 宏完成的工作就是一个初始化套接字集合 4.FD_SET把sock ...

  2. 原生JS及jQuery中事件委托的写法

    在绑定节点事件处理程序时遇到的问题: 每个 函数都是对象,都会占用内存:内存中的对象越多,性能就越差. 其次,必须事先指定所有事件处理程 序而导致的 DOM访问次数,会延迟整个页面的交互就绪时间. 采 ...

  3. DB2通过java代码生成自定义uuid()函数

    一.简单的方法 此种方法在快速大量生成时,会有重复 SELECT concat (hex (RAND ()), hex (RAND ())) as uuid FROM SYSIBM.SYSDUMMY1 ...

  4. Python项目案例开发从入门到实战-1.5Python文件的使用

    Python对文件的操作通常按照三个步骤进行: un 使用open()函数打开(或建立)文件,并返回一个file对象. deux 使用file对象的读写方法对文件进行读写操作. trois 使用fil ...

  5. 网络基础-分层思想和TCP/TP协议族

    一 .分层思想 首先,什么是分层?1984年国际标准化组织(iso)颁布了开放系统互联(osi)参考模型:一个开放式体系结构,将网络分成七层. 分层 功能 应用层 网络服务与最终用户的一个接口 表示层 ...

  6. SpringBoot之独立quartz数据源

    背景: 之前项目里面把quartz相关的表跟业务数据库(涉及系统业务的库)融合在一起,后面需要把quartz单独拎出来放在一个数据库里面, 旧的数据源配置(application.properties ...

  7. Linux0.11源码学习(二)

    Linux0.11源码学习(二) linux0.11源码学习笔记 参考资料:https://github.com/sunym1993/flash-linux0.11-talk 源码查看:https:/ ...

  8. Spring Data Solr 对 Solr 的增删改查实例

    Spring Data Solr 就是为了方便 solr 的开发研制的一个框架,其底层是对 SolrJ(官方 API)的封装 一.环境搭建 第一步:创建 Maven 项目(springdatasolr ...

  9. 亚马逊商品页面爬取(使用headers字段).py(亲测有效)

    import requests def getHTMLText(url): try: kv = {'user-agent':'Mozilla/5.0'} # 请求头;指定访问浏览器为Mozilla5. ...

  10. PHP 图片的合并,微信小程序码合并,文字合并

    //业务需求:我们需要一个微信小程序码,但是是需要提供给别人扫码的但是只有一个纯粹的小程序码是不好看的,所以需要推广的海报图片.再结合文字 最终效果 准备工作  1.需要海报的底图  2.小程序码的图 ...