Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parameters SSRS 2005将不同参数传递到同一数据集_Parameters_Dataset_Reportingservices 2005 - Fatal编程技术网

Parameters SSRS 2005将不同参数传递到同一数据集

Parameters SSRS 2005将不同参数传递到同一数据集,parameters,dataset,reportingservices-2005,Parameters,Dataset,Reportingservices 2005,我正在SSRS 2005中创建一份包含大量数据集的报告。一个例子可能是运送一箱箱货物的卡车数量以及每个车队运送的箱子数量。卡车有一个出发时间,在到达目的地之前可能要行驶很长时间,我想知道有多少卡车在途中。示例结果集可能如下所示: +---------------------+------------+------------+------------+ | | Current | MTD | YTD |

我正在SSRS 2005中创建一份包含大量数据集的报告。一个例子可能是运送一箱箱货物的卡车数量以及每个车队运送的箱子数量。卡车有一个出发时间,在到达目的地之前可能要行驶很长时间,我想知道有多少卡车在途中。示例结果集可能如下所示:

+---------------------+------------+------------+------------+          
|                     |   Current  |     MTD    |     YTD    |
+---------------------+------------+------------+------------+
| Convoy 1 | # Trucks |      3     |      0     |     16     |
|          | Boxes    |     150    |      0     |    1005    |
+----------+----------+------------+------------+------------+
| Convoy 2 | # Trucks |      0     |     12     |      8     |
|          | Boxes    |      0     |     144    |     113    |
+----------+----------+------------+------------+------------+
| Convoy 3 | # Trucks |      0     |     0      |      0     |
|          | Boxes    |      0     |     0      |      0     |
+----------+----------+------------+------------+------------+
我被要求将sql放在报告中,而不是使用存储的过程或视图

所有车队都必须出现在结果集中,即使当时没有卡车像车队3那样运送货物。我目前所做的查询是找到所有车队,然后左加入到每个日期范围。例如,伪查询是:

select a.convoy_name, current.trucks, current.weight, mtd.trucks, mtd.weight, ytd.trucks, ytd.weight
from(
  (get all convoys) a
  left join
  (get trucks and boxes for current date) current
  on a.something = current.something
  left join
  (get trucks and boxes for mtd) mtd
  on a.something = mtd.something
  left join
  (get trucks and boxes for ytd) ytd
  on a.something = ytd.something
)
日期查询之间的唯一区别是开始日期。我希望能够创建一个通用查询,我可以将开始日期传递到其中,并返回当前、mtd或ytd结果,就像使用存储过程一样。有人发布了类似的问题,但没有得到回复

有没有办法做到这一点是SSRS 2005?我很想知道在以后的版本中是否也可以


我不想再添加一堆数据集,因为我的一份报告已经有大约10个数据集。

我不能完全确定我是否理解您的问题。对不起!。 查看另一个链接的问题,他们似乎希望使用类似于excelsumif命令的命令,在该命令中,他们不在查询级别过滤数据,而是在报告级别过滤数据。 对于SSRS 2005,可以通过创建查询中未使用的参数,然后在组详细信息级别进行过滤来实现这一点。
这接近于回答你的问题吗

嗨,汤姆。这并不是我想要的——我更想要的是一个通用查询,它可以让我传递类似于一个可以在整个应用程序中重用的排序函数的参数。这能让事情更清楚一点吗?啊哈,我想我快到了!每个数据集/查询在AIK中只执行一次,因此无法重复调用以获取不同的数据。有时你可以通过返回大数据集,然后使用组过滤器在布局中分割它们来绕过这个问题。我希望有办法做到这一点,但我想没有这样的运气。谢谢你的帮助,汤姆!