WIN8 Metro UI 风格下的微软报表开发与设计 Metro UI SSRS - BIWORK
开篇介绍
作为 BI 系统前端展现的报表,其重要性不言而喻,我们对于一个好的报表的要求也无非主要包含以下几点:
1. 数据完整和正确,数据质量没有问题
2. 友好的清晰的界面,整洁美观,有得体的格式
3. 有很好的交互性和用户体验感,用户能够很容易找到需要的重要的数据
但是在微软体系下的 BI 开发人员,特别是 SSRS 报表开发人员对于报表的设计我想都有一个共同的感受:"报表设计出来了,很难看!交互性差!"。
也就是说,在上面提到的 3 点中,微软 SSRS 报表的非常直观的缺陷就是第二和第三点。
的确如此,微软的 SSRS 报表的界面一直不太好看,或者说功能提供的不够友好,所默认展示的图表等非常重要的组件看上去也不那么高大上。
改变
而我在这里想阐述的是,我们可以通过一些设计和报表技巧让我们的报表好看,并且生动起来。
我曾作为 Vendor 参与过一些微软的 BI 项目,其中就有对 UI 界面比较挑剔的客户。于是,纯粹是为了满足客户的需要,通过一些设计上的改变与技巧上的处理突破了一些固有的观念,彻底颠覆了他们对之前看到的所有 SSRS 报表的印象 。虽然仍然没有其它报表那么高大上,那么炫,但是作为我来说,已经是一种突破,因为对比自己之前所做的报表,终于能区分美与丑的感觉。
我相信下面我设计的几个原型案例,可以让部分 BI 开发人员改变一下对于微软 SSRS 报表的看法,希望能带给大家一些设计上的参考或者思路上的改变。
WIN 8 Metro UI
第一个例子,设计的思路参照了 METRO UI - WIN 8 风格。

它有几个特点:
1. 字体普遍采用独特的 Segoe UI / Segoe UI Light,通常情况下大标题或者单独的字体可以采用 Segoe UI Light,非标题类的可以采用 Segoe UI。
下面是采用了 Segoe UI 和 Segoe UI Light 之后的字体案例。

2. 这种 WIN 8 Metro UI 的设计只适合做 Dashboard,通常首页突出展示最重要的,最 High level 的数据。
比如上图中 WIN 8 魔术贴的数据就大致说明了:
总共有 27659 个订单,有 60398 个订单明细,3 个产品大分类和 130 种产品销往了 6 个国家的 269 个城市。
还包括其它的图表等等,均是最重要的数据信息,是用户第一时间希望得到的统计信息。
3. WIN 8 风格的报表,要注意到通常情况下它的背景以深色,暗色为主,比如这里我选用了黑色。
同时,其它重要的数据信息方面采用亮色,彩色来突出这些信息。
在彩色之上,采用白色字体形成反差突出信息标签和数据。
其实这个从 Office 365 上就可以看的出来,都是这种类似的设计风格。

在颜色的选择上,可以参考以下颜色。

当然还可以使用一些 METRO UI 的图标

报表的导航与交互
默认的效果显示所有地区的 Internet Sales Amount 和 Reseller Sales Amount。

当点击图标上的柱状图 或者 左侧各个国家标签的时候,就可以钻取/跳转到各个国家对应的销售信息。
比如这里选择的是 United States,注意到 United States 被选中的时候它的背景色也发生了相应的改变,同时数据图表中的信息也发生了改变。

通常情况下,在 SSRS 报表开发中,像这样的需求可能会被分解成多个报表,让其在多个报表之间进行跳转。
或者,设置参数,让用户选择下拉框来选择相应的国家,然后才能看到各个国家的信息。
而这里的思路是考虑到不需要让用户选择参数改变国家,通过表图的重叠与控制显示和隐藏来实现的,并且合理的利用 ACTION 动作使得报表的跳转仍然停留在同一个报表中,自刷新的效果。当然参数的控制是特别需要注意的,容易出错,但是在设计思路上我想大家可以借鉴类似于这样的案例。
像这种导航的效果,我在实际的报表开发中使用的非常多,用户基本上就能在界面上点击,钻取到他所需要的所有数据。在用户体验和交互上,用户使用起来非常的顺手和舒服,这就是一个好的报表应该达到的目的。
我在我的这篇博客上提到了设计的思路与全过程,大家可以参看这篇文章 - http://www.cnblogs.com/biwork/p/3520064.html
总结
本人做过3年 JAVA 开发,跟着项目稀里糊涂的转入到微软 BI 开发,4年的 BI 开发中大致向不同的客户交付过 100 多个以上的 SSRS 报表。不同的需求,不同的客户,不同的规则与数据,深感每一个报表的开发都很难让客户百分之一百满意。
但是我们能做的就是尽自己最大可能,在数据质量上,界面设计上,用户体验与交互性上尽力的挖掘 SSRS 报表的潜力,做到“尽心尽责”四个字,我相信做出的报表一定是有生命力的。
更多 BI 文章请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server) 如果觉得这篇文章看了对您有帮助,请帮助推荐,以方便他人在 BIWORK 博客推荐栏中快速看到这些文章。
BIWORK 在天善学院推出了 微软 2012 SSRS 报表开发培训课程,可以浏览课程的全部培训案例 - Microsoft Reporting Service 2012 报表课程案例
WIN8 Metro UI 风格下的微软报表开发与设计 Metro UI SSRS - BIWORK的更多相关文章
- 无需编码开发快速设计互动式UI - uilang
uilang是一个非常小巧的ui类库,可以帮助不熟悉前端代码的web设计人员快速的开发互动式UI.你只需要使用“语义式”的说明来控制元素的动态效果. 开发中你只需要在<code>标签内部输 ...
- ActiveReport系列报表开发随笔收集
转自:博客园 http://www.cnblogs.com/dahuzizyd/archive/2007/04/11/ActiveReport_All.html 使用ActiveReport for ...
- 【今日推荐】10大流行的 Metro UI 风格的 Bootstrap 主题和模板
1. BootMetro 基于 Twitter Bootstrap 的简单灵活的 HTML.CSS 和 Javascript 框架,Win8 风格,大爱啊! 立即下载 效果演示 2. Boot ...
- 收集Windows 8 Metro UI 风格网站资源,觉得不错的顶啊!!
这些资源包含:模板,框架,jQuery插件,图标集等.帮助你快速开发Windows 8 Metro UI风格的网站.本文转自虾米站长网 Frameworks & Templates For M ...
- ASP.NET MVC搭建项目后台UI框架—7、统计报表
ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET M ...
- 【案例分享】使用ActiveReports报表工具,在.NET MVC模式下动态创建报表
提起报表,大家会觉得即熟悉又陌生,好像常常在工作中使用,又似乎无法准确描述报表.今天我们来一起了解一下什么是报表,报表的结构.构成元素,以及为什么需要报表. 什么是报表 简单的说:报表就是通过表格.图 ...
- windows phone (16) UI变换 下
原文:windows phone (16) UI变换 下 上一篇中说到四个变换类,都是比较简单的,这里要说到四个变换类,分别为: MatrixTransfrom矩阵变换,一句标准矩阵表示的变换 Tra ...
- (转载)RESTful架构风格下的4大常见安全问题
转载自<RESTful架构风格下的4大常见安全问题>,作者:马伟 伴随着RESTful架构风格的大量应用微服务架构的流行,一些本来难以察觉到的安全问题也逐渐开始显现出来.在我经历过的各种采 ...
- 树莓派做下载机+Web服务器(Aria2下载+yaaw做UI+nginx)
今天收到了小派,UK产的绿板子,还配了个透明盒子,装在里面闪亮亮的很好看,而且只有卡片大小,寻思着用它做什么好呢?想来想去,看到人家拿小派作家庭媒体中心,还有人拿它当下载机,于是就萌生了一个家庭媒体中 ...
随机推荐
- hdu1890 splay维护区间翻转
这题的建模有点不太一样,是按结点横坐标赋予键值的 同时每次rotate和splay时都要注意下往上往下更新 /* 先建立好splay tree,将结点按num/输入顺序排序,遍历时每次将当前结点提到根 ...
- python 全栈开发,Day20(object类,继承与派生,super方法,钻石继承)
先来讲一个例子 老师有生日,怎么组合呢? class Birthday: # 生日 def __init__(self,year,month,day): self.year = year self.m ...
- windows系统下ruby开发环境的搭建方法
ruby是一种简单快捷的面向对象的脚本语言,非常直观.下面说一下windows系统下ruby开发环境的搭建方法. 工具/原料 rubyinstaller.exe 方法/步骤 1 到如下网站去下载最新的 ...
- 使用RabbitMQ实现延迟任务
场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时. 场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单. 上述类似的需求是我们经常会遇见的问题. ...
- [转] Java接口_interface_implements
相对抽象类来讲,接口就是比抽象类还要抽象的抽象类,丝毫不带半点实现的内容.接口可以更加规范的对子类进行约束.接口全面地专业地实现了:规范和具体实现的分离.接口就是规范,定义的是一组规则,提现了现实世界 ...
- CS224d 单隐层全连接网络处理英文命名实体识别tensorflow
什么是NER? 命名实体识别(NER)是指识别文本中具有特定意义的实体,主要包括人名.地名.机构名.专有名词等.命名实体识别是信息提取.问答系统.句法分析.机器翻译等应用领域的重要基础工具,作为结构化 ...
- 转 关于Https协议中的ssl加密解密流程
关于Https协议中的ssl加密解密流程 2016年09月28日 09:51:15 阅读数:14809 转载自:http://www.cnblogs.com/P_Chou/archive/2010/1 ...
- BZOJ3377 [Usaco2004 Open]The Cow Lineup 奶牛序列 其他
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3377 题意概括 给出一个序列,序列中的数字为1~k中的. 让你求最短的非子序列长度. 题解 我们把 ...
- Unity3d和Android之间互相调用
摘抄博客 Unity3d Android SDK接入解析(一)Unity3d 与 Android之间的互相调用,一共四章,一定要看完 No1: 总体来说Unity3d与Android之间的互相调用,是 ...
- UVA 11624-Fire!【双BFS】
<题目链接> 题目大意: 你的任务是帮助J走出一个大火蔓延的迷宫.J每分钟可以超上下左右四个方向移动,而所有着火的格子每一分钟都会往四个方向蔓延一格.迷宫中有一些障碍,J和火都无法进入.当 ...