This report illustrates the use of embedded images, database images, page header, page breaks, page footers, a tablix with three nested row groups and details but no grouping cells, conditional formatting, and a document map set up on row groups.
报表要求第一页的效果:
后续页面design设计成这样:
后续页面preview预览效果:
练习用到的数据库:AdventureWorks
设计表格需要的table:
Production.Product
Production.ProductSubcategory
Production.ProductCategory
Production.ProductPhoto
Production.ProductDescription
Production.ProductModel
Production.ProductModelProductDescriptionCulture
Filter
Production.ProductModelProductDescriptionCulture.CultureID = 'en')
Production.ProductPhoto.LargePhotoFileName not like '%no_image%'
做法:
SSMS里面写SQL语句设计报表:
SELECT PS.Name AS Subcategory
,PM.Name AS Model
,PC.Name AS Category
,PD.Description
,PP.LargePhoto
,PP.LargePhotoFileName
,P.Name AS Product
,P.ProductNumber
,P.Color
,P.Size
,P.Weight
,P.StandardCost
,P.Style
,P.Class
,P.ListPrice
FROM [Production].[Product] AS P
INNER JOIN [Production].[ProductSubcategory] AS PS ON P.ProductSubcategoryID=PS.ProductSubcategoryID
INNER JOIN [Production].[ProductCategory] AS PC ON PS.ProductCategoryID=PC.ProductCategoryID
INNER JOIN [Production].[ProductProductPhoto] AS PPP ON P.ProductID=PPP.ProductID
INNER JOIN [Production].[ProductPhoto] AS PP ON PPP.ProductPhotoID=PP.ProductPhotoID
LEFT OUTER JOIN [Production].[ProductDescription] AS PD
INNER JOIN [Production].[ProductModel] AS PM
INNER JOIN [Production].[ProductModelProductDescriptionCulture] AS PMPDCL ON PM.ProductModelID=PMPDCL.ProductModelID
ON PD.ProductDescriptionID=PMPDCL.ProductDescriptionID ON P.ProductModelID=PM.ProductModelID
WHERE PMPDCL.CultureID = 'en'
AND PP.LargePhotoFileName NOT LIKE '%no_image%'
第一页的图片,先在Tool工具菜单里面拉取Rectangle,然后把4个图片按照要求放置。
最后选取整个Rectangle--Rectangle Properties--Add a page break after:
报表表头显示页数/总页数,insert--page header,在Tool工具菜单拉一个Text Box过来,输入2014 Product Catalog,然后右击出现Create Placeholder菜单;
在Placeholder Properties如下图编辑:
总页数同样方法操作,Value expression = Globals!TotalPages--这样表头就完成了。
Product Catalog从Tool工具拉取一个Text Box完成。
后续页表格的设计--这一步得到论坛大拿的热心解答才弄明白,往上面加不关联数据值行数的非常简单,只需要insert row above。如何往上加入adjacent row group呢?
1--先用Tool工具里的Table,把所有的column都加上:
2--根据报表的模板要求,删除不需要显示的column:
3--根据下面的三步骤往上叠加adjacent row group:
4--把多出来的列删除即可: