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

SSRS: Call a dataset from a textbox with a parameter

我有一个查询数据集,它有一个像这样的 where 子句 'where field1 like @parameter1' parameter1 是一个字符串,定义为 dataset1 中的参数。我有各种文本框,它们使用 =First(Fields!field_xx, "Dataset1") 等表达式调用数据集。对于每个文本框,我喜欢在调用 "dataset1" 时为 @parameter1 指定不同的值。如何修改每个文本框中的表达式,以便使用 @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

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

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

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

也许如果您更详细地说明您的报告应该是什么样子,以及您正在获取的数据的结构是什么,就可以更好地回答如何通过一个单一的方式解决您的问题数据集。