Ssrs 2008 SSRS:使用参数从文本框调用数据集

Ssrs 2008 SSRS:使用参数从文本框调用数据集,ssrs-2008,Ssrs 2008,我有一个数据集,它是一个查询,其中有一个where子句,如“where field1 like@parameter1”parameter1是定义为数据集1中的参数的字符串。我有各种各样的文本框,它们用=First(Fields!field_xx,“Dataset1”)这样的表达式调用数据集。对于每个文本框,我希望在@parameter1调用“dataset1”时为其指定不同的值。如何修改每个文本框中的表达式,以便使用@parameter1的硬编码值从每个文本框调用“dataset1” 查询: S

我有一个数据集,它是一个查询,其中有一个where子句,如“where field1 like@parameter1”parameter1是定义为数据集1中的参数的字符串。我有各种各样的文本框,它们用=First(Fields!field_xx,“Dataset1”)这样的表达式调用数据集。对于每个文本框,我希望在@parameter1调用“dataset1”时为其指定不同的值。如何修改每个文本框中的表达式,以便使用@parameter1的硬编码值从每个文本框调用“dataset1”

查询:

SELECT     TOP (1) job.job_id, job.originating_server, job.name, job.enabled, job.description, job.start_step_id, job.category_id, job.owner_sid, job.notify_level_eventlog, 
                      job.notify_level_email, job.notify_level_netsend, job.notify_level_page, job.notify_email_operator_id, job.notify_netsend_operator_id, job.notify_page_operator_id, 
                      job.delete_level, job.date_created, job.date_modified, job.version_number, job.originating_server_id, job.master_server, activity.session_id, activity.job_id AS Expr1, 
                      activity.run_requested_date, activity.run_requested_source, activity.queued_date, activity.start_execution_date, activity.last_executed_step_id, 
                      activity.last_executed_step_date, activity.stop_execution_date, activity.job_history_id, activity.next_scheduled_run_date, steps.step_name
FROM         sysjobs_view AS job INNER JOIN
                      sysjobactivity AS activity ON job.job_id = activity.job_id INNER JOIN
                      sysjobsteps AS steps ON activity.last_executed_step_id = steps.step_id AND activity.job_id = steps.job_id
WHERE     (job.name LIKE 'Actual Job Name')
ORDER BY activity.start_execution_date DESC

无法在同一报表执行中调用具有不同参数的数据集。报告的每次执行和呈现仅获取一次每个数据集

这意味着您必须以某种方式构建数据集,以便它返回您需要的所有数据,以填充每个文本框

根据您的数据模型,您可能希望向数据集添加更多列,或返回多行数据。如果有多行,则可以在表达式中使用
Lookup
函数过滤掉每个文本框中的行


也许如果您详细阐述一下您的报告应该是什么样子,以及您正在获取的数据的结构是什么,对于如何使用单个数据集解决您的问题,可以给出更好的答案。

我为每个数据集添加了我复制了100次的实际查询:)您应该让查询在单个数据集中返回多行,每个作业返回一行,然后使用上面提到的查找功能过滤掉每个文本框中需要的行。或者更好:使用TABLIX-这样,您只需创建一个文本框:-)我建议您创建一个新问题,并用[sql]和[sql server]标记它-有人会很快帮助您从该查询中获取所需内容。