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

时间:2015-01-14 12:10:57

标签: ssrs-2008

我有一个数据集是一个查询,它有一个像这样的where子句'其中field1喜欢@ parameter1' parameter1是在dataset1中定义为参数的字符串。我有各种文本框,用类似= First(Fields!field_xx," Dataset1")的表达式调用数据集。对于每个文本框,我想在调用" dataset1"时为@ parameter1指定不同的值。如何修改每个文本框中的表达式以调用" dataset1"来自每个人的@ parameter1

的硬编码值

查询:

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

1 个答案:

答案 0 :(得分:0)

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

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

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

也许如果你详细说明你的报告应该是什么样子,以及你所获得的数据的结构是什么,那么就可以更好地回答如何使用单个数据集来解决你的问题。