【译】Tablix指南----通向报表服务的阶梯系列(四)

   “Ah ha,发现你了!”你的经理突然从桌子后面的假花旁冒出来,发出胜利的叫声。你沮丧地转过头看着经理。

   “我已经创建了一个基本报表,并抓取了一些数据,我正打算-”你在他打断你之前快速的解释着。

    “赶紧做完就好,大BOSS需要这个报表,越快越好”留下这些话后,你的经理扬长而去。

      你心情沉重的坐下,打开SQLServerCentral.com,又到了读本系列文章的时候了。本篇文章阐述如何分组信息,调整动态列和行分组以及在Reporting Service中使用Tablix。

 

Table + Matrix + List = Tablix

    Tablix是SSRS展示数据的工具。SQL Server Reporting Services 2008之后才有的报表项。由三个之前具有相似性的报表项组成:表、矩阵、列表。Tablix的视图如图4-1所示。

    1

    图4-1.Tablix视图

 

    你并不能在Business Intelligence Development Studio (BIDS)的工具箱中找到Tablix工具。取而代之的是,你可以在图二分别看到表、矩阵和列表项,无论你将这三个项中的哪个项拖入报表,报表服务其实使用的都是Tablix。

    2

     图4-2.工具箱中展现Tablix模板

     注意:如果你在BIDS中看不到工具箱,点击视图->工具箱选项或者按快捷键Ctrl + Alt + X.在工具箱中,所有的报表项都放在“报表项”头下。

     下面我们来看第一个tablix模版:表

 

    表是一个可以展示分组和聚合后数据的简单对象。如果数据包含的列是固定的,则可以使用表项。让我们从将”表”拽到报表上开始,在上一章中我们已经设置了数据集,这里直接为表使用这个数据集。每一个表只能从一个数据集中抓取数据。你可以从属性窗格中->DataSetName属性的下拉列表中选择数据集。属性窗格如图4-3。

    3

     图4-3.属性窗格和DataSetName属性

 

    现在我们可以使用数据集中的字段来涉及表了,我们可以通过如下几种方式来在表中插入字段:

  •     从报表数据窗格中拽入字段
  •     从每一个格子中右上角的下拉列表中选择字段,如图4-4所示
  •     在每个格子的属性窗格里进行选择

    4

    图4-4.表字段的选择

 

    使用那种方式设置字段并不重要,一个简单表布局如图4-5所示。

    5

    图4-5.简单的表布局

 

分组

    Tablix可以通过每一个“详细信息”分组来显示表。“详细信息”组为我们提供了一个了解分组原理的基本概念。每一次报表服务看到一个唯一行,它都会创建一个详细信息组。与这个原理相同,每一个所创建的分组都对唯一值再次创建一个详细信息组,下面我们来通过实例阐述这个概念。

    在分组窗格中。在SSRS2008之前的版本中,你可以在表和矩阵的属性窗格中看到这个窗格,而在之后的版本中,你直接在BIDS的底部就能看到这个窗格,如图4-6所示。

    6

     图4-6.行和列的分组窗口

 

     因为我们在表模版上工作,让我们来创建一个行组。点击行组窗格下的详细信息右边的下拉箭头,你会看到多个选项,包括”添加组”。选择添加组->父组选项,然后选择分组的条件列。如果需要添加组头和组尾,选择对应的Checkbox.完成的截图如图4-7所示。

    7

    图4-7.完成的Tablix组窗口

 

    当你点击完成后,你可以在表设计界面中看到如图4-8所示。

    8

     图4-8.分组后的表设计

 

    你可以在组头或组尾加入聚合函数或敲入一个标题来描述这一列。下面通过一个表达式来创建一个累加聚合。右键表格右下角处于行和列最后的那个单元格,右键点击文本单元格属性,在值那一栏填入:=SUM(Fields!TotalDue.Value),如图4-9所示。

    9

    图4-9 文本框属性

 

     在开始运行报表之前,让我们来看一下Tablix的矩阵模版。在讨论矩阵之前我们首先讨论分组是因为这是理解表和矩阵之前区别的关键点。接下来我们来看矩阵。

 

矩阵(Matrix)

     和表类似,矩阵也有对行或列进行聚合分组的功能。分组后的结果在x轴和轴上进行增长。创建列组和行组的方法很类似,唯一的区别是对属性的设置一个在行组窗格,一个是在列组窗格。下面例子是使用矩阵的报表按照不同月和销售地区对销售报表进行汇总的例子。如图4-10所示。

    10

     图4-10. 矩阵的布局

 

列表(List)

    列表在讨论tablix时经常会被遗忘因为它实在是太简单了。数据集中的每一行都会在列表中生成一行和一列。如果你需要在报表中创建一个不受限于当前格式元素,你可以使用列表。你可以在列表中键入任何文本框来满足最终用户所希望的布局。

 

格式(Formatting)

    报表的最终用户通常都希望数据以既定的格式显示。因为格式所应用的最小单元是文本框。所以你可以通过对表格,矩阵和列表来设置格式从而应用到tablix。在对我们已经创建好的基于表的报表中,我们对列排序规则和字体属性做一些改变。

 

列排序

    几乎每一张报表都需要应用列排序从而将数据以既定的排序展示。通过点击tablix的任何一出,在出现灰色框中点击右键,选择Tablix属性,如图4-11所示。

    11

    图4-11.选择Tablix属性窗口

 

    在属性窗口中,在左边的选项中选择排序。选择希望按照规则排序的列并选择排序顺序为A-Z,也就是升序。完成的窗口如图4-12所示。记住分组本身也带有排序,如果你运行报表后发现排序有问题,检查以确保其他类型的排序不会覆盖掉当前的排序。

    12

      图4-12.完成后的排序窗格

 

字体属性

    下一步,让我们来看字体属性。这个设置可以让字体更加好看。选择所有列的头那行,在属性窗格中,选择字体属性->FontWeight属性->粗体选项,如图4-13所示。

    13

    图4-13.在属性窗格中的字体属性选择

 

    在所有的这些准备,分组和格式设置完成后,我们迎来了完成的报表。点击预览标签,可以看到如图4-14所示。

    14

    图4-14.最终的报表视图

 

接下来:饭后甜点

    现在,我们已经完成了报表服务中报表的一些核心概念的学习。我们在表和矩阵中展示数据,并对其进行分组,排序和设置格式。这可以让我们的报表满足大多数用户的需求。因为我们总是想给用户最棒的产品,接下来我们学习如何在报表中添加图表和地图使我们给大BOSS的报表看上去充满活力。我将在本系列文章的下一篇以图表展示未知中进行阐述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

熊吃人该不该杀?这头3米高的大熊吃了7个人,还在洞里藏了很多女人用的东西.........

全世界只有3.14 % 的人关注了爆炸吧知识10月18日,有网友爆料称“上海野生动物园猛兽区一饲养员遭群熊撕扯”。随后,上海野生动物园证实,该饲养员目前已身亡。据悉,他才27岁,还没成家。从网上发布的现场视频来看&#x…

还在纠结Dapper或者EF Core?不妨试试“混合ORM”--RepoDb

在.NET世界中,提到ORM,最常用的是下面2个:Dapper,通过提供IDbConnection的扩展方法来查询数据库。它的优点在于可以轻松地执行参数化查询,将结果转化为对象;非常高效,在速度方面拥有micro-ORM之…

使用 PHP 7 给 Web 应用加速

PHP 20周年了!?? PHP 首发通告,1995年6月8日 发布于 COMP.INFOSYSTEMS.WWW.AUTHORING.CGI 主题:正式宣布:个人主页工具(Personal Home Page Tools)正式宣布个人主页工具(…

mvc教程

第一章 mvc概述 入门 需要安装 Visual Studio 2008 或 Visual Web Developer 2008 Express 来构建 ASP.NET MVC 应用程序。还需要下载 ASP.NET MVC Framework。 如果没有 Visual Studio 2008,可以从下面的网址下载 90 天试用版: http://msdn.microsoft.c…

windows下面怎么github ssh 公钥,然后克隆项目

windos下面怎么github ssh 公钥,然后克隆项目 第一步、 1. 安装git,从程序目录打开 "Git Bash" 2. 键入命令:ssh-keygen -t rsa -C "email@email.com" 我的邮箱是chen_yu@kuyu.com , "email@email.com"是github账号 3. 提醒你输入key的…

连破四次吉尼斯世界纪录!厨师界再出神人,用一公斤拉面缔造了一代传奇,背后却是简单的原理……

全世界只有3.14 % 的人关注了爆炸吧知识超模君最喜欢的就是公司楼下海底捞火锅面。不仅是面确实好吃,更重要的是因为海底捞拉面小哥的技艺十分精湛!提臀、收腹,只见拉面小哥化身蹦迪达人,在旋转跳跃中舞动拉面。一顿猛如虎的操作之…

微软推出 .NET 官方社区论坛

James 近日发布博客(https://devblogs.microsoft.com/dotnet/introducing-the-net-tech-community-forums/),推出 .NET 官方社区论坛,为开发者提供一个官方的交流平台,小道消息,微软即将上线中文版的.NET网…

android sdk中添加自定义api,android SDK中添加自定义api【转】

本文的思路:android APP调用自定义java API,自定义java API调用自定义jni接口1:在android源码目录framework/base下面创建add目录add目录里面的结构如下:里面的Nadd.java android_jnitest_Nadd.cpp 和Android.mk内容如下:Nadd.jav…

远程控制利器TeamViewer使用教程(图)

TeamViewer是什么? 他是一款免费的可以穿透内网的远程控制软件,可以实现桌面共享,文件传送等功能,简单一点说就是和QQ远程协助一样,但是比QQ的远程协助功能更为强大。 TeamViewer与木马有什么区别? 说到远程…

千万别让男朋友穿你的短裙......

1 工作太辛苦,我要走了...▼2 应该很有效?▼3 疑车有据!!▼4 这是一部色魔功法...▼5 穿上女友的衣服居然毫无违和感▼视频来源见水印,侵删6 整挺好!▼7 这只有熊猫可以驾驭得了......▼你点的每个赞&…

迎接.NET 6,《dotnet+Linux中文手册》完整PDF开放下载!

昨晚已经正式发布了.NET6,具体参见:https://devblogs.microsoft.com/dotnet/announcing-net-6/。这是.NET团队和社区努力一年的成果,C# 10 和 F# 6 有很大的语言改进,使代码更简单、更好。性能有了巨大的提升,我们看到微软的云服务…

常用MIME类型(Flv,Mp4的mime类型设置)

也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢?这就表明mp4格式文件是服务器无法识别的,其实,这是没有在iis中将相应的MIME类型进行设置的…

史上四大“杀人”建筑,烧掉几百亿,却犯低级错误,网友:有钱人的智商,我不懂

全世界只有3.14 % 的人关注了爆炸吧知识本文转自普象工业设计小站这个世界上有多少荒谬的建筑?国内土味审美的大楼只是冰山一角在更多的国家里耗费巨资,却无比失败的工程比土味大楼更多更荒唐你也许听说过美国这座会跳舞的大桥耗资千万,由优秀…

迎.NET6,今日先送200P全新视频教程 / 源码

昨晚已经正式发布了.NET6,具体参见:https://devblogs.microsoft.com/dotnet/announcing-net-6/。这是.NET团队和社区努力一年的成果,C# 10 和 F# 6 有很大的语言改进,使代码更简单、更好。性能有了巨大的提升,我们看到微软的云服务…

android 横向stepview,Android 流程指示器 StepView

软件介绍StepView 是Android平台下自定义的流程指示器。效果图:使用:android:id"id/step_view0"android:layout_width"match_parent"android:layout_height"wrap_content"android:layout_centerInParent"true"android:text…

58年前,这3个人在“撕逼”中拿下诺贝尔奖!一起研究DNA的女科学家却痛苦去世.........

全世界只有3.14 % 的人关注了爆炸吧知识人类的本质是双螺旋结构1953年4月25日,《自然》杂志发表了一篇不到千字的论文:消息一出,便掀起了科学界的轩然大波。因为这篇短小精悍的论文史无前例地揭示了正确的DNA立体结构。图片仅供参考&#xff…

Azure App Service 上的根证书

点击上方蓝字关注“汪宇杰博客”原文:Amol Mehrotra翻译:Edi Wang导语App Service 有一个受信任的根证书列表,您不能在 App Service 的多租户版本中修改这些证书,但您可以在应用服务环境 (ASE) 的受信任根存储中加载自己的 CA 证书…

jettytomcat对待表单过长问题

为什么80%的码农都做不了架构师?>>> 结论两句话: tomcat知道自己处理不了了,什么也不干过去了 jett知道自己处理不了了,抛个IllegalStateException出来通知一下 jetty默认允许的content-length2001000 org.eclips…

Android之Adapter用法总结

Android之Adapter用法总结 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系: Android中所有的Adapter一览: …

那些年,画家发明的黑科技

全世界只有3.14 % 的人关注了爆炸吧知识在现代摄影技术发明之前,获取图像的最佳方式只有绘画。在绘画的时代,如何把事物画的逼真,几乎成为了困扰画家一生的问题。为了准确展现客观世界,让画面看起来更加逼真,古代的艺术…