Power BI ----SVG(圆环图)

news/2024/7/23 17:49:35 标签: Power BI

圆环图助力矩阵图

  • 定义度量值
  • 放置视觉对象

  SVG是什么鬼,在现在的Web世界中越来越凸显这一标准的优势。关于SVG,我们只需要知道一点就好 ---- SVG 意为可缩放矢量图形(Scalable Vector Graphics)。它是使用 XML 格式定义的图像。
  由此我们就可以知道SVG是可以通过文本来定义图形的。(XML也是文本,只不过是按照某种约定编写的文本,好让浏览器知道如何把文本解析成图形)

  关于SVG的各种图形代码,参考如下链接:SVG教程。今天这里讲解圆环图。

直接看下面实例图:
 在矩阵图中放置环形图,使得数据更直观

在这里插入图片描述

定义度量值

定义完成率度量值

销售额完成率 = 
	DIVIDE(
		CALCULATE(
			sum('目标数据'[月度销售额已完成])),
			CALCULATE(SUM('目标数据'[月度销售额目标])),
			0
		)

对度量值SVG话

圆环图 SVG = 
//定义变量 PercentValue,用于存储三天内发货率的百分比值。如果这个值大于 0.9999,就将其设为 0.9999,以避免出现满圆的情况。
VAR PercentValue = IF([销售额完成率] > 0.9999, 0.9999, [销售额完成率])
//定义变量 PercentA,用于将百分比值转换为角度值。
VAR PercentA = PercentValue * 360
//定义变量 CirclePercent,用于计算饼图中绿色部分的扇形的中心角度。
VAR CirclePercent = 180 - PercentA
//定义变量 ShortDistance,用于判断扇形是否大于半圆。
VAR ShortDistance = IF(CirclePercent < 0, 1,0)
//定义变量 Radians,用于将 CirclePercent 的角度值转换为弧度值。
VAR Radians = RADIANS(CirclePercent)
//定义变量 XArcEnd 和 YArcEnd,用于计算扇形的终点的坐标。
VAR XArcEnd = SIN(Radians)
VAR YArcEnd = COS(Radians)
//定义变量 Circle 和 Textvalue,用于生成饼图中的圆形和文本元素。
VAR Circle  = IF(PercentValue = 0.9999, "<circle cx='0' cy='0' r='0.8' fill= 'green' />", "<circle cx='0' cy='0' r='0.8' fill='white' />")
VAR Textvalue = IF(PercentValue = 0.9999, "<text x='0' y='0' font-size='0.6' font-weight='bold' alignment-baseline='middle' text-anchor='middle' fill='white'>✓</text>", "<text x='0' y='0' text-anchor='middle'  alignment-baseline='middle' font-size='0.6'>"&FORMAT(PercentValue,"0.0%")&"</text>")
//返回 SVG 图像
RETURN
IF([销售额完成率]>[时间进度],
    "data:image/svg+xml;utf8,<svg 
    xmlns='http://www.w3.org/2000/svg'
        viewBox='-1 -1 2 2'>
        <circle cx='0' cy='0' r='1' fill='lightgrey' />
        <path d='M 0 -1 A 1 1 0 " & ShortDistance & " 1 " & XArcEnd & " " & YArcEnd & "  L 0 0 z' fill='green'></path>"&
        Circle&Textvalue&"
        </svg>",
    "data:image/svg+xml;utf8,<svg 
    xmlns='http://www.w3.org/2000/svg'
        viewBox='-1 -1 2 2'>
        <circle cx='0' cy='0' r='1' fill='lightgrey' />
        <path d='M 0 -1 A 1 1 0 " & ShortDistance & " 1 " & XArcEnd & " " & YArcEnd & "  L 0 0 z' fill='red'></path>"&
        Circle&Textvalue&"
        </svg>")

这个度量值的数据类型要设置成图像URL,具体位置如下图

在这里插入图片描述

放置视觉对象


在这里插入图片描述

 其他细节和一般的视觉对象调整一致,不再赘述!

觉得图像太大可以在视觉对象图像大小进行调整。


http://www.niftyadmin.cn/n/5444194.html

相关文章

数据结构万字总结(超级详细)第二章——线性表

线性表 定义 线性表是具有相同数据类型的n&#xff08;n≥0&#xff09;个数据元素的有限 序列 特点 除第一个元素外&#xff0c;每个元素有且仅有一个直接前驱&#xff1b;除最后一个元素外&#xff0c;每个元素有且仅 有一个直接后继 操作 初始化、增、删、查、改、销毁 元素…

蓝桥杯算法基础(27) 矩阵运算

矩阵运算两个矩阵A&#xff0c;B AB A&#xff0c;B每个元素都相加减数n乘矩阵A 矩阵A中的每个元素都乘n (nm)An(mA) (nm)AnAmA n(AB)nAnBpublic static void main(String[] args){ Scanner scnew Scanner(System.in); int Msc.nextInt(); int Nsc.nextInt(); int[][] Anew i…

数据清洗(一)Excel

一、引言 线上出现问题之后的数据清洗是少不了的&#xff0c;有的可以直接通过接口或者mq补偿&#xff0c;有的写sql更新db就可以&#xff0c;但是在匹配关系比较复杂的时候就需要建立临时表做关联匹配&#xff0c;数据量不大可以直接用excel进行匹配。 二、Excel清洗数据 作者…

LM studio使用gemmar聊天小试

通过LM studio可以方便的使用各种模型&#xff0c;使用LM提供的chat界面或者是使用python代码。 试试代码 在windows下使用python简单一试&#xff0c;例子直接复制LM界面上的代码&#xff1a; 用pip安装 openai包在LM界面 Start Server 需要安装 openai包。 本地电脑是I7…

Vue+SpringBoot在线教育考试及管理平台开发(纯原创)后续还在开发,会持续更新

登录页面设计 登录页面设计思路-分为三个角色进行登录&#xff0c;分别为学生&#xff0c;教师&#xff0c;管理员。 前端将登录设计为表单形式&#xff0c;通过选项组件绑定角色参数&#xff0c;向后端传递角色信息&#xff0c;通过表单绑定向后端传递登录者所有信息 <div …

C++关键字:const

文章目录 一、const的四大作用1.修饰 变量、数组2.修饰 函数的形参、修饰 引用 (最常用&#xff09;3.修饰 指针&#xff1a;常量指针、指针常量 、只读指针4.修饰 类的成员函数、修饰 类的对象 一、const的四大作用 1.修饰 变量、数组 1.const修饰变量&#xff1a; 被const修…

uniapp离线打包笔记

环境&#xff1a;Android&#xff0c;Android Studio&#xff0c;Java1.8 参考地址&#xff1a;《Android 原生工程配置》&#xff0c;《Android 离线打包使用插件》 一、创建证书 参考&#xff1a;《Android平台签名证书(.keystore)生成指南》 具体命令&#xff1a; 生成 …

hexo 一分钟快速搭建博客文档,真的超方便

基础要求 环境&#xff1a;node 命令&#xff1a;hexo&#xff08;没有的话就安装&#xff1a;npm install hexo-cli -g&#xff09; 执行顺序 项目初始化 hexo init blog初始化完进如项目 cd blog安装依赖 npm install安装完依赖运行 hexo server启动效果 完事&#xff01…