如何用DAX实现查看每个月中不同类别排名前一位,以及一个简单的svg案例
现在给大家带来的是如何用DAX实现查看每个月中不同类别的排名前一位,最终完成效果如下!!!

首先我们需要两张简单的表
基数表

和类别表

当我们创建好表之后,我们再创建一个表格,然后我们将类别表里的列值类别放进去就得到这样一个效果

得到一个这样的效果后我们需要建立一个这样的度量值
为了方便你们可以复制我下面的代码就可以直接使用了
本月第一 = var month=IF(SELECTEDVALUE('基数表'[月份])=BLANK(),0,SELECTEDVALUE('基数表'[月份])) var monthNO1= IF(HASONEVALUE('类别表'[类别]),SWITCH(VALUES('类别表'[类别]),"销售额",CALCULATE(VALUES('基数表'[姓名]),FILTER(TOPN(1,'基数表','基数表'[销售额],DESC),'基数表'[月份]=month||month=0)),"销售数量",CALCULATE(VALUES('基数表'[姓名]),FILTER(TOPN(1,'基数表','基数表'[销售数量],DESC),'基数表'[月份]=month||month=0)),"销售利润",CALCULATE(VALUES('基数表'[姓名]),FILTER(TOPN(1,'基数表','基数表'[销售利润],DESC),'基数表'[月份]=month||month=0))),TRUE()) return monthNO1
然后我们将上面的度量值放进表格中就可以得到我所展现的效果了
接下来为大家带来一个简单的SVG图形案例
最终效果图如下:

首先我们先创建一张表

在创建SVG图像度量值之前我们先要创建三个接下来要使用的度量值:
实际值 = SELECTEDVALUE('SVG案例'[实际完成度],0)
满完成度 = SELECTEDVALUE('SVG案例'[完成度],0)
目标值 = SELECTEDVALUE('SVG案例'[合格完成度],0)
然后我们在开始创建SVG图像度量值
为了方便你们可以直接将我的度量值复制过去就可以使用了
SVG KPI =
VAR MainValue = 'SVG案例'[实际值]
VAR GoalValue = 'SVG案例'[目标值]
VAR MaxValue = 'SVG案例'[满完成度]
VAR GoalTxt = "目标"
VAR ColorGood= "Green"
VAR ColorBad ="Red"
VAR GoalColor = "Orange"
VAR KPIColor = if(GoalValue<=MainValue,ColorGood,ColorBad)
VAR ValuePos = MainValue/MaxValue*100
VAR GoalPos = GoalValue/MaxValue*100
VAR PicHigh = "130"
VAR PicWidth ="130"
VAR SvgC =
"
<text x='0' y='25' font-size='25' fill='"&KPIColor&"'>"&MainValue&"</text>
<text x='0' y='55' font-size='15' fill='Orange'>"&GoalTxt&" "&GoalValue&"</text>
<rect x='0' y='70' rx='0,5' ry='20' width='100%' height='25'
style='fill:white;stroke:black' />
<rect x='0' y='70' rx='0,5' ry='20' width='"&ValuePos&"%' height='25'
style='fill:"&KPIColor&";stroke:black' />
<line x1='"&GoalPos&"%' y1='65' x2='"&GoalPos&"%' y2='200' style='stroke:"&GoalColor&";stroke-width:3' />
"
VAR Cd1=
"data:image/svg+xml;charset=utf-8," &
"<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px'
width='"&PicWidth&"'
height='"&PicHigh&"'
viewBox = '0 0 100 100'> "
VAR Cd2 = " </svg>"
RETURN
Cd1&SvgC&Cd2
好了,今天的分享就告一段落,希望大家都变成大神!!!
1.Power BI免费下载:http://www.yeacer.com/
Microsoft Power BI Desktop中文最新版:下载地址
2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。
Power Data技术交流群:702966126 (验证注明:博客园Power BI)
更多精彩内容请关注微信公众号:悦策PowerBI
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,作者博客:https://www.cnblogs.com/yeacer/
如何用DAX实现查看每个月中不同类别排名前一位,以及一个简单的svg案例的更多相关文章
- 查看服务器系统资源(cpu,内容)利用率前几位的进程的方法
在日常运维工作中,我们经常需要了解服务器上的系统资源的使用情况,要清楚知道一些重要进程所占的资源比例.这就需要熟练掌握下面几个命令的使用: 1)查看占用CPU最高的5个进程 # ps aux | so ...
- 如何用Android Studio查看build.gradle源码
上一篇博客里讲过 build.gradle 里的每一行代码基本都是在调用一个方法,既然是这样,我们就可以用 android studio(下面简称as) 去查看它源码的方法注释说明,这样就可以理解每个 ...
- 查看当前支持的shell,echo -e相关转义符,一个简单shell脚本,dos2unix命令把windows格式转为Linux格式
/etc/shells [root@localhost ~]# more /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bi ...
- 【Linux】查看所使用的Linux系统是32位还是64 位的方法
查看所使用的Linux系统是32位还是64 位的方法 方法一:getconf LONG_BIT # getconf LONG_BIT 1 1 我的Linux是32位!!! 方法二:arch # arc ...
- 如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1
原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...
- 如何用linux命令查看nginx是否在正常运行
有时想知道nigix是否在正常运行,需要用linux命令查看nginx运行情况. 执行命令: ps -A | grep nginx 如果返回结果的话,说明有nginx在运行,服务已经启动. 如果 ...
- 如何用浏览器在线查看.ipynb文件
当我们用jupyter notebook编辑好.ipynb文件后,肯定会想不用运行jupyter notebook也能方便得查看.ipynb的文件,如果直接打开.ipynb的文件,我们 ...
- 如何用SPY++工具查看窗体的句柄
我安装的是vs2012,先找到SPY++工具打开 打开方式: 方式1:通过路径(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microso ...
- 如何用DOS命令查看占用某端口的程序及PID号
果学过JSP编程的朋友可以会发现,若用Eclipse运行JSP文件时常常会弹出某某端口正在使用,从而导致代码无法运行.如何查找出特定端口的使用情况以及对应的程序呢,针对该问题,本文介绍利用DOS命令查 ...
随机推荐
- 大数据分析引擎Apache Flink
Apache Flink是一个高效.分布式.基于Java实现的通用大数据分析引擎,它具有分布式 MapReduce一类平台的高效性.灵活性和扩展性以及并行数据库查询优化方案,它支持批量和基于流的数据分 ...
- 62. Unique Paths不同路径
网址:https://leetcode.com/problems/unique-paths/ 第一思路是动态规划 通过观察,每一个格子的路线数等于相邻的左方格子的路线数加上上方格子的路线数 于是我们就 ...
- windows 系统分布式版本控制 git 使用学习
1. 在 Windows 上安装 Git 在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可. 安装完成后,在开始菜单里找到“Git ...
- MySQL Workbench中如何开启MySQL的远程帐号
'; /* 上面的语句表示将 discuz 数据库的所有权限授权给 root这个用户,允许 root用户在192.168.119.120进行远程登陆,并设置 root用户的密码为 123456 . 下 ...
- Directory /home/hdfs/name is in an inconsistent state: storage directory does not exist or is not a
2018-06-11 17:50:36,896 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered except ...
- ssm的web项目,浏览器使用get方法传递中文参数时,出现乱码
ssm的web项目,浏览器使用get链接传递的为中文参数时,出现乱码 做搜索功能时,搜索手机,那么浏览器传递的参数为中文参数“手机”,但传递的默认编码格式为iso-8859-1,所以传到后台时,是乱码 ...
- asp.net mvc如何获取url的相关信息
1.获取完整url信息(协议名+域名+虚拟目录名+文件名+参数) string url = Request.Url.ToString(); 如: //1)获取完整url(协议名+域名+虚拟目录名+文件 ...
- Mac上搭建nginx教程
1.安装Homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/in ...
- UVa LA 3695 - Distant Galaxy 前缀和,状态拆分,动态规划 难度: 2
题目 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_pr ...
- 使用markdown第一个博客
markdown,I coming ! System.out.println("I m coming");