Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/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
Reporting services 更新的参数选择_Reporting Services_Parameters - Fatal编程技术网

Reporting services 更新的参数选择

Reporting services 更新的参数选择,reporting-services,parameters,Reporting Services,Parameters,我正在尝试将我们最简单的报表之一转换为Reporting Services 原始excel报表在深入查看数据时,使用一个存储过程的结果调用多个存储过程来构造下一个存储过程 我目前有两个数据集,它们都调用存储过程 第一个名为GetGlobalCustomers。这将填充一个结果集,该结果集返回每个数据库的连接信息(我们已按客户划分了数据库),并返回字段ID、Name、customer和Server 第二个名为GetSchedules,它需要GetGlobalCustomers提供的服务器和名称来查

我正在尝试将我们最简单的报表之一转换为Reporting Services

原始excel报表在深入查看数据时,使用一个存储过程的结果调用多个存储过程来构造下一个存储过程

我目前有两个数据集,它们都调用存储过程

第一个名为
GetGlobalCustomers
。这将填充一个结果集,该结果集返回每个数据库的连接信息(我们已按客户划分了数据库),并返回字段
ID
Name
customer
Server

第二个名为
GetSchedules
,它需要
GetGlobalCustomers
提供的服务器和名称来查询正确的数据库

但是,我只想按名称选择客户,而不是单个服务器/名称(记住哪个客户在哪个服务器上以及他们的数据库名称几乎是不可能的)

因此,我有一个名为
CustomerName
的参数,被推到参数列表的顶部,该列表向用户显示客户首先选择的参数,其值为
ID
。我还有两个参数称为
DBServer
DBName
。如何将
DBServer
DBName
设置为取决于所选客户?似乎没有一种显而易见的方法


我猜它需要成为可用值的一部分并指定值,但我不知道如何说“对于此客户
ID
使用此数据库/名称”。我想我可以通过创建两个额外的数据集来执行对
dbserver
/
dbname
的按id选择查询,但是如果每次需要按参数选择,我将有几十个数据集。

尽管您的数据源有一个警告:您不能使用共享数据源,但您可以这样做

在这种情况下,数据源连接字符串可以包含参数。例如:

=“数据源=”+参数!P_Environment.Value+“初始目录=MyDB;”

您说它需要成为可用值的一部分是正确的。一种可能是让客户引用将传递给数据源的完整连接字符串。因此,在本例中,您将使用一个参数,该参数将客户名称表示为参数文本,将连接字符串表示为值。

我想您误解了我的意思(或者我没有很好地解释自己)。我有一个数据库,里面有全球信息。这有一个所有数据库及其位置的列表。这可以通过GetGlobalCustomers访问,以检索在后续查询中使用的服务器/名称。据我所知,我不需要更改数据源,因为实际的存储过程使用参数来定位正确的数据库。目前,我正在传递数据库的ID,并对名称/服务器对使用主表中的select,这非常低效。