在ssrs中,我有一个来自查询(mssql db)的数据集,它返回三列:
数据集1
timestamp
customer
product
我正在尝试显示一个总计按时间戳(仅限日期)和产品的表格,并且时间戳在日期折叠。见例1。
Date Customer product total
+ 07/12/2016 Max Fork 5
+ 07/12/2016 Max Spoon 4
+ 07/10/2016 Jim Knife 11
+ 06/02/2016 Steve Fork 6
允许用户展开日期以查看确切时间戳的行,例如......
Date Customer product total
- 07/12/2016 Max Fork 5
07/12/2016 16:25:12 Max Fork 1
07/12/2016 13:11:02 Max Fork 1
07/12/2016 12:45:45 Max Fork 1
07/12/2016 10:33:20 Max Fork 1
07/12/2016 08:25:55 Max Fork 1
+ 07/12/2016 Max Spoon 4
+ 07/10/2016 Jim Knife 11
+ 06/02/2016 Steve Fork 6
我得到的作品在这里和那里工作,但不是全部在一起。任何帮助,将不胜感激。我从头开始创建表并且很复杂。谢谢。
答案 0 :(得分:2)
我从这个样本数据集开始
Date Customer Product
2016-07-15 02:14:15.777 Max Fork
2016-07-15 03:14:15.777 Max Fork
2016-07-15 04:14:15.777 Max Fork
2016-07-15 05:14:15.777 Max Fork
2016-07-15 06:14:15.777 Max Fork
2016-07-15 03:14:15.777 Max Spoon
2016-07-15 04:14:15.777 Max Spoon
2016-07-15 05:14:15.777 Max Spoon
2016-07-15 06:14:15.777 Max Spoon
以下是我的意思
从报表上的空白表开始,设置其数据集(我的只是DataSet1)。
现在首先放入详细信息行。您没有表明您正在从数据库返回指标,因此我假设每条记录都是1(?)。我以这种方式设置表格:
这就像这样呈现
接下来,我们要创建一个父组。选中该表后,右键单击“详细信息”行组,然后选择添加组>家长小组......
在“分组依据”框中,put = 1。我们稍后会改变这个。选中“添加组头”。单击“确定”。
这将在左侧添加一个我们不想要的新列,因此您可以删除该列(但只删除列,而不是组!)。
它最终应该是这样的:
在“行组”区域中,双击新组以打开“组属性”。在Group On部分中,将表达式从我们之前放入的“= 1”更改为此
=FORMAT(Fields!Date.Value, "MM-dd-yyyy")
接下来,将客户和产品添加为其他分组列,然后单击“确定”。
现在回到表中,将组的Date列单元格值设置为用于对其进行分组的相同表达式:
=FORMAT(Fields!Date.Value, "MM-dd-yyyy")
客户和产品相同,但在“总计”列中,将表达式设置为
=COUNT(1)
这是迄今为止的预览
剩下要做的就是折叠组并制作它们以便切换它们。
单击要作为切换的文本框,并记下文本框的名称。对我来说,它是Textbox68。
再次双击详细信息行组以打开属性。转到可见性部分。将其设置为“隐藏”,然后选中“此报表项可以切换显示:”。选择适当的文本框(在我的例子中是Textbox68)
这是预览