数据可视化的一大特点就是能给报表使用者带来感官上的享受。不再是枯燥的数字,而变成一个一个亮丽的图形。之前业界大神公布过一个统计Car Accidents的报表,这个Power BI Report的特点是嵌入了一张汽车平面图,按照汽车部件位置进行了划分,只要用户点击某个部件,Power BI就会显示出基于该部件的事故次数。有了这个设计,报表的level瞬间被提高,用户可以清晰地明了的理解数据意义。

https://app.powerbi.com/view?r=eyJrIjoiNTY1YThkOWItYWM5Mi00Nzg5LThlNGItODkyOTA5YmI0ODJjIiwidCI6IjU3NGMzZTU2LTQ5MjQtNDAwNC1hZDFhLWQ4NDI3ZTdkYjI0MSIsImMiOjZ9

其实这个基于汽车平面图的可视化工具制作起来比较简单,不需要进行任何编程,只需要一个名为Synoptic Panel的第三方Power BI控件和图片即可。

以剧场销售报表为例,想制作一张剧场座位图,看看哪个区域的座位售票情况最好。首先,根据原始表单数据设计一张剧场座位图,划分出座位区域。

之后到Synoptic Designer网站将剧场座位图区域绘制成可视化控件识别图片。

所谓的绘制图表,实际上就是将图片中需要进行统计的区域添加涂层进行标记,之后进行命名。网站上提供了两种在图形区域上绘制涂层的方法,一种是自己绘制,选择左下角的十字图标,在需要绘制的区域周边以连线的方式圈出图形。

另外一种方法是选择左下角第二个魔法棒图标,之后选择图片上的区域块,会自动识绘制出相应涂层。

涂层设定完毕之后就需要对其进行命名。这里面需要注意每个涂层对应的Areas属性有两部分,第一行填写内置名(必填项)第二行填写显示名(选填项)。内置名需要跟之前Seats表当中的Area列下的值一一对应,完全一致。

当前Seats表中Area列一共有四个值,分别是Center,Left,Right和Rear,则绘制出的四个涂层必须依据其位置分别命名为Center,Left,Right和Rear,不能进行更改,否则Power BI无法识别。如果想要图片中显示的区域名称与原始表单中不一样,可以在显示名一栏中对区域添加描述。

图形绘制完毕后,选择右下角的“Export to Power BI”,会弹出一个窗口提示选择图片然后右键下载保存刚刚制作的图片成svg格式。

有了图片后安装Synoptic Panel插件,然后在Power BI表单中添加该插件,由于主要计算的是Seats表单下的Area和Price之间的数据关系,因此,在Synoptic Panel插件Field下,选择Area做为Category,之后选择Price作为Measure,意思就是Area列对应图片中标记的涂层区域,然后用Price列去计算每个Area(涂层区域)相关数据。

Synoptic Panel下面有8个自定义选项。

Category:必须选择与图形涂层内置名对应的数据列。

Subcategory:对Category的说明,需要选择与Category列相关联的数据列。

Measure:添加一个可以计算涂层区域数据相关信息的度量值。

Maps:针对地图类图形使用的选项,需要选择包含地图信息的度量值。

Target:添加一个用于做效率比对的度量值。

States:可以添加多个数字类型度量值,用来代表效率状态。

Tooltips:允许添加多个数字类型的度量值用来在鼠标滑过涂层区域时显示额外补充信息。

配置好选项之后可以把刚刚生成的图片添加进来,然后这个可视化图片就创建完毕了。选择之前创建的涂层区域,就能对应的看的相关数据计算结果。比起用切片器,报表一下子就酷炫了起来。

以上


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/ 

用Synoptic Panel自定义基于图形的可视化控件--制作一张剧场售票统计报表的更多相关文章

  1. WPF可视化控件打印

    Introduction While coding an application that displays a detailed report in a ScrollViewer, it was d ...

  2. WPF实现可视化控件打印及打印预览

    打印预览XAML代码: <controls:WindowEx x:Class="SunCreate.Vipf.Client.UI.MapPrintPreview" xmlns ...

  3. atitit. java queue 队列体系and自定义基于数据库的队列总结o7t

    atitit. java queue 队列体系and自定义基于数据库的队列总结o7t 1. 阻塞队列和非阻塞队列 1 2. java.util.Queue接口, 1 3. ConcurrentLink ...

  4. VC 绘图技巧--自定义形状图形

    自定义形状图形,定义几个点围城的图形,然后进行描边和填充: if (m_memDC.m_hDC!=NULL) { CPoint point[4]; point[0].x=nLeft+(int)(0.1 ...

  5. asp.net core 自定义基于 HttpContext 的 Serilog Enricher

    asp.net core 自定义基于 HttpContext 的 Serilog Enricher Intro 通过 HttpContext 我们可以拿到很多有用的信息,比如 Path/QuerySt ...

  6. 自定义适用于手机和平板电脑的 Dynamics 365(五):可视控件

    使用 适用于手机的 Dynamics 365 和平板电脑中的可视控件帮助移动用户更快地输入 Dynamics 365 数据并提供更丰富的可视体验. 此组自定义控件包括滑块.开关.星数评级.视频嵌入以及 ...

  7. 自定义分页控件-基于Zhifeiya的分页控件改版

    基于Zhifeiya的分页控件改版的分页. html显示代码: <div class="pagelist"> {{.pagerHtml}} </div> c ...

  8. MFC-[转]基于MFC的ActiveX控件开发

    作者:lidan | 出处:博客园 | 2012/3/13 16:10:34 | 阅读22次 ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在VC ...

  9. 基于jQuery 常用WEB控件收集

    Horizontal accordion: jQuery 基于jQuery开发,非常简单的水平方向折叠控件. Horizontal accordion: jQuery jQuery-Horizonta ...

随机推荐

  1. 函数使用二:采购申请BAPI_PR_CREATE

    REPORT YTEST01. ***************************采购申请创建*****************************begin DATA:LV_BANFN TY ...

  2. HTML5新特性 Web Workers 实现多线程

    引子:(JS单线程) 什么是webworker? Web Worker为Web应用程序提供了一种能在后台中运行的方法.通过Web Worker可以生成多个线程同时运行,并保证页面对用户的及时响应,完全 ...

  3. Linux下Tomcat项目启动报错

    Linux下Tomcat项目启动报错 org.springframework.beans.factory.CannotLoadBeanClassException: Error loading cla ...

  4. Oracle Shared Pool机制之——Latches, Locks, Pins and Mutexes

    本文中,我们将讨论共享池(Shared Pool)中的各种内存保护结构,即Latches,Locks,Pins和Mutexes. 1.  Lathes 当在库缓冲(Libraray Cache)中创建 ...

  5. Oracle RAC时间同步(NTP/CTSS)

    1.RAC 相关时间同步(time synchronization)Oracle Grid可用两种方式进行时间同步1)基于OS的NTP2)基于clusterware的CTSS(Cluster Time ...

  6. 基于js的CURD插件

    前言: 每个web程序对数据库的创建(Create).更新(Update).读取(Retrieve)和删除(Delete)操作都是必不可少的,于是我决定开发一个基于JavaScript和jQuery框 ...

  7. [LeetCode] 201. Bitwise AND of Numbers Range ☆☆☆(数字范围按位与)

    https://leetcode.com/problems/bitwise-and-of-numbers-range/discuss/56729/Bit-operation-solution(JAVA ...

  8. MySql语句中Union和join的用法

    Union UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT ...

  9. 【转】Netty之解决TCP粘包拆包(自定义协议)

    1.什么是粘包/拆包 一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据.TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消 ...

  10. kiss word memory post poly peri out ~p 4

    1● post p əust 在后面,邮件     2● peri 多   3● poly 周围,靠近