BI2添加按日期筛选报表的参数精编版

上传人:ahu****ng1 文档编号:141720546 上传时间:2020-08-11 格式:DOC 页数:20 大小:197.50KB
返回 下载 相关 举报
BI2添加按日期筛选报表的参数精编版_第1页
第1页 / 共20页
BI2添加按日期筛选报表的参数精编版_第2页
第2页 / 共20页
BI2添加按日期筛选报表的参数精编版_第3页
第3页 / 共20页
BI2添加按日期筛选报表的参数精编版_第4页
第4页 / 共20页
BI2添加按日期筛选报表的参数精编版_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《BI2添加按日期筛选报表的参数精编版》由会员分享,可在线阅读,更多相关《BI2添加按日期筛选报表的参数精编版(20页珍藏版)》请在金锄头文库上搜索。

1、精品资料推荐第 1 课:添加按日期筛选报表的参数第 1 课:添加按日期筛选报表的参数通过在报表查询中包含开始日期参数和结束日期参数,可以指定用来限定从数据源检索的数据所处的日期范围。您可以创建其他参数,以便对从数据源检索到的数据进行筛选。在本课中,您将向查询添加StartDate和EndDate参数,以便限定从数据源检索的数据。StartDate和EndDate两个报表参数是自动创建的,并显示在“报表数据”窗格中。参数区分大小写。查询参数以符号作为开头,而报表参数则不然。您将这些参数的数据类型设置为DateTime,并将看到报表查看器工具栏中会显示一个带有参数文本框的日历控件。您还将设置这些参

2、数的默认值,以使报表可以自动运行。最后,您将创建未绑定到查询参数的报表参数DayofWeek,并使用该报表参数对从数据源检索到的数据进行筛选。本教程要求您已完成教程:创建基本表报表。打开现有报表服务器项目1. 单击“开始”,依次指向“所有程序”和Microsoft SQL Server 2008 R2,单击Business Intelligence Development Studio。2. 在“文件”菜单上,指向“打开”,再单击“项目/解决方案”。3. 导航到Tutorial.sln。本教程是在教程:创建基本表报表中创建的。4. 单击“确定”打开项目。“教程”项目即在解决方案资源管理器中显示

3、,并带有一个名为Sales Orders.rdl的报表。注意如果解决方案资源管理器不可见,请单击“视图”菜单中的“解决方案资源管理器”。将嵌入数据源转换为共享数据源1. 在“报表数据”窗格中,右键单击数据源 AdventureWorks 并选择“转换为共享数据源”。名为 AdventureWorks.rds 的数据源即被添加到“解决方案资源管理器”中。2. 在“报表数据”窗格中,右键单击 AdventureWorks 数据源,并选择“数据源属性”。3. 在“名称”中,键入AdventureWorks_Ref。4. 单击“确定”。替换现有数据集1. 在“报表数据”窗格中,右键单击数据集 Adve

4、ntureWorksDataset,然后单击“数据集属性”。注意:如果未显示“报表数据”窗格,请单击“视图”菜单上的“报表数据”。2. 在“数据源”中,确保已选中 AdventureWorks_Ref。3. 在“查询类型”中,确保已选中“文本”。4. 单击“查询设计器”按钮打开查询设计器。5. 用下列查询替换文本框中的文本。6. SELECT 7. soh.OrderDate AS Date, 8. soh.SalesOrderNumber AS Order, 9. pps.Name AS Subcat, pp.Name as Product, 10. SUM(sd.OrderQty) AS

5、Qty,11. SUM(sd.LineTotal) AS LineTotal12. FROM Sales.SalesPerson sp 13. INNER JOIN Sales.SalesOrderHeader AS soh 14. ON sp.BusinessEntityID = soh.SalesPersonID15. INNER JOIN Sales.SalesOrderDetail AS sd 16. ON sd.SalesOrderID = soh.SalesOrderID17. INNER JOIN Production.Product AS pp 18. ON sd.Produc

6、tID = pp.ProductID19. INNER JOIN Production.ProductSubcategory AS pps 20. ON pp.ProductSubcategoryID = pps.ProductSubcategoryID21. INNER JOIN Production.ProductCategory AS ppc 22. ON ppc.ProductCategoryID = pps.ProductCategoryID23. GROUP BY ppc.Name, soh.OrderDate, soh.SalesOrderNumber, 24. pps.Name

7、, pp.Name, soh.SalesPersonID25. HAVING (ppc.Name = Clothing AND (soh.OrderDate BETWEEN (StartDate) AND (EndDate)除添加了带有两个限制参数的条件之外,该查询与以前的查询相同:AND (soh.OrderDate BETWEEN (StartDate) AND (EndDate)26. 在工具栏上单击“运行”(!)。此时将打开“定义查询参数”对话框,提示您输入参数值。27. 提供以下两个值以查看筛选的结果集:1. 在“参数值”列中,为StartDate,输入值,例如1/31/2001。2

8、. 在“参数值”列中,为EndDate输入值,例如1/31/2003。28. 单击“确定”。29. 结果集显示 2001 至 2002 年期间筛选后的订单数据集。30. 单击两次“确定”。“报表数据”窗格即用数据集字段进行填充。另请注意将自动创建StartDate和EndDate两个报表参数,并显示在“参数”节点下面。在定义报表的查询参数之后,必须更改报表参数的数据类型,使其与源数据的数据类型匹配。默认数据类型为文本,在大多数数据源中,它映射为字符串数据类型。如果源数据是数字、布尔值或日期/时间,则必须更改报表参数数据类型。更改报表参数的数据类型和默认值1. 在“报表数据”窗格中,展开“参数”

9、,并双击StartDate。此时将打开“报表参数属性”对话框。2. 确保参数名称为StartDate,并且提示为“开始日期”。3. 在“数据类型”中,选择“日期/时间”。4. 单击“确定”。5. 在“报表数据”窗格中,双击EndDate。验证名称和提示值。6. 在“数据类型”中,选择“日期/时间”。7. 单击“确定”。8. 单击“预览”。StartDate和EndDate参数将分别随附一个日历控件显示在报表工具栏中。参数的数据类型是Date/Time并且未定义可用值列表时,将自动显示日历控件。如果定义了可用值列表,则改为显示一个值下拉列表。9. 提供以下两个参数值以运行报表:1. 在Start

10、Date参数文本框中,输入日期1/31/2001。2. 在EndDate参数文本框中,输入日期1/31/2003。10. 单击“查看报表”。报表将仅显示位于报表参数值范围中的数据。为报表创建报表参数后,可以为这些参数添加默认值。默认参数可以使报表自动运行;否则,用户必须输入参数值,报表才能运行。为参数设置默认值1. 在“设计”视图的“报表数据”窗格中,展开“参数”,并双击StartDate。此时将打开“报表参数属性”对话框。2. 单击“默认值”。3. 选择“指定值”选项。此时将显示“添加”按钮和空的“值”网格。4. 单击“添加”。空行即被添加到网格中。5. 单击“值”文本框,并删除默认文本(N

11、ull)。6. 键入1/31/2001。单击“确定”。7. 在“报表设计”窗格中,双击EndDate。8. 单击“默认值”。9. 选择“指定值”选项。10. 单击“添加”。11. 键入1/31/2003。单击“确定”。12. 单击“预览”。由于为所有参数定义了默认值,因此报表会立即运行。将新字段添加至查询以用于筛选1. 切换到“设计”视图。2. 右键单击数据集 AdventureWorksDataset,并选择“数据集属性”。打开查询设计器,并用以下新查询替换查询:3. SELECT 4. soh.OrderDate AS Date, DATENAME(weekday, soh.OrderDa

12、te) as Weekday,5. soh.SalesOrderNumber AS Order, 6. pps.Name AS Subcat, pp.Name as Product, 7. SUM(sd.OrderQty) AS Qty,8. SUM(sd.LineTotal) AS LineTotal9. FROM Sales.SalesPerson sp 10. INNER JOIN Sales.SalesOrderHeader AS soh 11. ON sp.BusinessEntityID = soh.SalesPersonID12. INNER JOIN Sales.SalesOr

13、derDetail AS sd 13. ON sd.SalesOrderID = soh.SalesOrderID14. INNER JOIN Production.Product AS pp 15. ON sd.ProductID = pp.ProductID16. INNER JOIN Production.ProductSubcategory AS pps 17. ON pp.ProductSubcategoryID = pps.ProductSubcategoryID18. INNER JOIN Production.ProductCategory AS ppc 19. ON ppc.

14、ProductCategoryID = pps.ProductCategoryID20. GROUP BY ppc.Name, soh.OrderDate, soh.SalesOrderNumber, 21. pps.Name, pp.Name, soh.SalesPersonIDHAVING (ppc.Name = Clothing AND (soh.OrderDate BETWEEN (StartDate) AND (EndDate)在查询中,将以下命令添加至 SELECT 语句,以便为发生销售业务的工作日另外定义一个计算列:DATENAME(weekday, soh.OrderDate) as Weekday.22. 单击“运行”(!)。“定义查询参数”对话框随即打开。23. 在“参数值”列中,为StartDate,输入值,例如1/31/2001。24. 在“参数值”列中,为EndDate输入值,例如1/31/2003。25. 单击“确定”。结果集中应该显示一个标有 Weekday 的新列。26. 单击两次“确定”。在“报表数据”窗格中,确保含有 Weekday 字段。(可选)设置要筛选的表数据中的日期的格式1. 单击“设计”选项卡。2. 右键单击带 Date 字段表达式的单元,然后单击“文本框属性”。3. 单击“数字”,然后在“类别”字段中,选择“

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号