焦棚子的文章目录

请点击下载附件

1、背景

每次写rank的时候,有了排名就可以了,排名1,2,3,4,5这样不是很清晰吗?但是中国式报表的老板们说你能不能在排名后面加一个总排名数呢,就像1/5,2/5,3/5,4/5,5/5。谁叫是老板呢,于是就有了报表加工出来后各种组合,比如vlookup。既然都用了dax,为什么不能dax呢。

那就dax写一写咯,

2、数据源(上图)

``````````

3、效果未切片 (再上图)

4、效果加上切片 请注意R1和R2的变化,很重要。(接着上图)

5、接下来一如既往的贴上dax咯。

total:=SUM(data[value])
R1:=IF (

HASONEVALUE ( data[部门] ),

VAR P =

SUMMARIZE ( ALL ( 'data' ), 'data'[部门], "P", 'data'[total] )

RETURN

RANKX ( P, 'data'[total], 'data'[total], DESC, DENSE ),

BLANK ()

)
R1/M:=IF (
HASONEVALUE ( data[部门] ),
VAR P =
SUMMARIZE ( ALL ( 'data' ), 'data'[部门], "P", 'data'[total] )
VAR M =
CALCULATE ( DISTINCTCOUNT ( data[部门] ), ALL ( data[部门] ) )
VAR R =
RANKX ( P, 'data'[total], 'data'[total], DESC, DENSE )
RETURN
CONCATENATE ( R, "/" & M ),
BLANK ()
)

R2:=IF (
HASONEVALUE ( data[部门] ),
VAR P =
SUMMARIZE ( ALLSELECTED ( 'data' ), 'data'[部门], "P", 'data'[total] )
RETURN
RANKX ( P, 'data'[total], 'data'[total], DESC, DENSE ),
BLANK ()
)

R2/M:=IF (
HASONEVALUE ( data[部门] ),
VAR P =
SUMMARIZE ( ALLSELECTED ( 'data' ), 'data'[部门], "P", 'data'[total] )
VAR M =
CALCULATE ( DISTINCTCOUNT ( data[部门] ), ALLSELECTED ( data[部门] ) )
VAR R =
RANKX ( P, 'data'[total], 'data'[total], DESC, DENSE )
RETURN
CONCATENATE ( R, "/" & M ),
BLANK ()
)

6、小结下

请注意观察R1和R2的变化,其实就是all和allselected的变化。

在不同的上下文的筛选下,会得到不同的结果,all则排名始终在所有排名中作排名,allselected则是选择的排名中排名。

关于allselected请移步官方文档:

ALLSELECTED 函数 (DAX)​

by 焦棚子

焦棚子的文章目录

102_Power Pivot DAX 排名后加上总排名数的更多相关文章

  1. Linux shell中运行命令后加上字符“&”的作用

    上午登录服务器编译运行服务端程序的时候,学到了在命令后加上字符“&”后,退出shell,运行的命令可以继续运行.不解原因,并到网上搜索了以下,明白了点! 以下是搜索到的片段: & 放在 ...

  2. go语言中在变量后加上接口是什么意思?

    如题刚刚开始学习go 语言有些不懂: a.Data = make(map[string]interface{}) 我认为它是在申请a.Data map为字符串类型的空间,那么它后面接一个空的inter ...

  3. 排序(分组后排序&整排)

    一.整排 要求:根据score进行排名,分数相同,名次相同,且连续 表如下图: sql语句: 方法一:select a.score, (select count(distinct b.score) f ...

  4. MySQL 排名、分组后组内排名、取各组的前几名 及排名后更新插入数据表中

    一.排名 /*普通排名:从1开始,顺序往下排*/ AS rank ) r ORDER BY score; /*并列排名:相同的值是相同的排名*/ SELECT cs.* , CASE WHEN @p= ...

  5. webstorm启动后右下角总有进程在扫描

    启动webstorm后,右下角有一个扫描的任务总在执行,其他操作很卡. 搜索后找到一个办法:在node-modules右键,选择Mark Directory As选择exclude 具体原因没找到.

  6. 2020年的六种编程语言排名中,java排第几只有不到1%的人知道

    前言 编程语言是开发的基础.有不同的类型和特征,并且开发人员针对不同的场景选择正确的语言,但是您知道使用哪种语言吗?中国和世界各地有多少开发人员正在使用它?他们的排名是多少?快来看看您知道多少个列表! ...

  7. 101_Power Pivot DAX 累计至今,历史累计至今

    焦棚子的文章目录 一.背景 DAX中已经有诸如YTD,QTD,MTD时间智能函数.用起来也比较方便. 但很多时候需要看历史累计至今的数据,需要自己根据实际情况写dax. 今天抛砖引玉,写一个示例. 二 ...

  8. mysql 怎么查询出,分组后的总条数。。。也就是有多少组数。。。。怎么写

    SELECT COUNT(*) AS 多少组数FROM( SELECT id FROM 表 GROUP BY id) subQuery;Mysql,有一个表含有以下字段,uid 发帖人id,title ...

  9. 关于wordpress在修改固定链接后,总显示Not Found的问题

    参考来源: http://chinablog.blog.51cto.com/276793/280278 一.问题背景 使用wordpress搭建网站,为了让文章URL看起来漂亮一点,wordpress ...

随机推荐

  1. 祖先元素transform非none时在Iphone6上引起后代fixed/absolute元素的怪异表现及解决方案

    如题,祖先元素transform非none时,记录一下Iphone6中引起后代元素fixed参考视图怪异表现和解决方案. 层叠关系及参考视图 层叠上下文是HTML元素的三维概念,这些HTML元素在一条 ...

  2. 详解防抖函数(debounce)和节流函数(throttle)

    本文转自:https://www.jianshu.com/p/f9f6b637fd6c 闭包的典型应用就是函数防抖和节流,本文详细介绍函数防抖和节流的应用场景和实现. 函数防抖(debounce) 函 ...

  3. zabbix使用自带模板监控MySQL

    监控mysql不能直接使用zabbix自带模板,还需要到被监控的mysql客户端做配置. 1.在zabbix   web配置步骤如下图: 2.配置完之后去看mysql主机监控项的时候看到mysql的监 ...

  4. python解释器安装与使用

    Python解释器安装与使用 首先了解下python是由'龟叔' 也就是右边这位和蔼的大叔叔 全名'Guido van Rossum'在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. ...

  5. spatialite-tools 安装

    spatialite-tools 安装 官网 https://www.gaia-gis.it/fossil/spatialite-tools/index 下载地址 https://www.gaia-g ...

  6. Java语言学习day08--7月7日

    ###13遍历数组​ * A:遍历数组​ * 在操作数组时,经常需要依次访问数组中的每个元素,这种操作称作数组的遍历​ * B:练习​ public class ArrayDemo04 {​ publ ...

  7. docker进阶_docker-compose

    Docker-compose 为什么使用docker-compose 官方介绍 ​ Compose 是一个用于定义和运行多容器 Docker 应用程序的工具.使用 Compose,您可以使用 YAML ...

  8. Dom基础(二):Dom性能优化

    一.尽量将DOM查询做缓存 1 let pElements = document.getElementById('div1') //将dom缓存 2 3 for(let i=0:i<pEleme ...

  9. Python 爬取1688货源重量,自动发邮件到指定邮箱(qq),设置定时运行程序

    1 # -*- coding: utf-8 -*- 2 # @Time : 2020/7/6 13:46 3 # @Author : Chunfang 4 # @Email : 3470959534@ ...

  10. SpringBoot 三层架构 Controller、Service、Dao作用和关系详解

    首先创建一个springboot项目. model层 model层也叫pojo层或者entity层,个人比较喜欢pojo层. 一般数据库的一张表对应一个pojo层,并且表中所有字段都在pojo层都一一 ...