我需要每个月,每个月和每季度每季度运行一次报告。两份报告的基础数据是相同的。我是否需要为每个rdl文件维护一个单独的ssrs解决方案,以便我可以自定义开始日期和结束日期参数默认值,或者是否有某种方法可以将两个rdl文件保存在同一个解决方案中,具有monthStartDate和monthEndDate参数只有月度报告引用和quarterStartDate和quarterEndDate参数?
干杯,
答案 0 :(得分:0)
根据您分享的内容,我不清楚为什么这甚至需要不同的报告(.rdl文件。)。一个.rdl可以采用start
和end
参数订阅可以设置为季度和月度的不同值。或者可以添加另一个参数MonthOrQuarter
,它可以更改数据集或过滤器的变量值。
但当然,这可能是两个.rdl
引用共享数据集。
答案 1 :(得分:0)
创建一个视图,根据当前日期计算所需的各个时间段的开始和结束,并具有可用作参数标签的标签
CREATE VIEW DateRangeParameters
AS
SELECT
DATEADD(month, DATEDIFF(month, '2000-01-01', getdate()), '2000-01-01') AS StartDate,
DATEADD(month, DATEDIFF(month, '2000-01-01', getdate())+1, '2000-01-01') AS EndDate,
'This Month' as Label
UNION ALL
SELECT
DATEADD(month, DATEDIFF(month, '2000-01-01', getdate())-1, '2000-01-01') AS
StartDate,
DATEADD(month, DATEDIFF(month, '2000-01-01', getdate()), '2000-01-01') AS EndDate,
'LastMonth' as Label
UNION ALL
DATEADD(month, DATEDIFF(month, '2000-01-01', getdate()), '2000-01-01') AS StartDate,
DATEADD(quarter, DATEDIFF(quarter, '2000-01-01', getdate())+1, '2000-01-01') AS EndDate,
'This quarter' as Label
UNION ALL
SELECT
DATEADD(quarter, DATEDIFF(quarter, '2000-01-01', getdate())-1, '2000-01-01') AS
StartDate,
DATEADD(quarter, DATEDIFF(quarter, '2000-01-01', getdate()), '2000-01-01') AS EndDate,
'LastQuarter' as Label
延长您需要的周,年等任何其他时间段。
直接使用此视图创建一个数据集以允许选择日期范围。
使用> = start和<将您的视图与现有查询相关联结束日期列添加一个WHERE子句,用于将标签链接到报表参数。
这种方式使用您的参数将选择在查询中使用的时间范围。
然后,您可以手动运行报告并选择时间范围参数,也可以将报告计划为每月运行并单独运行,并将其安排为每季度运行一次。在每次选择适当的参数,这将动态计算适当的日期范围。