将动态日期范围从 Crystal 传递到存储过程

问题描述 投票:0回答:1

我必须根据多种人口统计数据(每日总平均数、男性每日平均数等)创建一个设施每日人口表,然后计算每个人的每日平均数。显然,我可以直接通过水晶运行它,但它是大量数据,并且需要很长时间才能运行。我创建了一个存储过程,每天提取每个人口统计的总数。它有一个名为reportdate 的参数。如果我在一天内将其拉入 Crystal 或每天通过 SQL 将其拉入 Crystal,效果会非常好。

我的水晶报告以这样的方式运行:用户选择他们想要的季度(q1、q2 等),并且根据该输入自动计算日期范围。正确范围内的日期字段通过日历表填充。

我想要的是这个范围内的每一天都通过存储过程的

ReportDate
参数并返回结果。

在我的水晶报表中,当它通过存储过程提示输入

ReportDate
时,我不知道如何让它链接到我的
CalendarDate
并循环。最终,我需要能够将每一项相加,然后除以该范围内的天数,得到每日总体平均值。

这可能吗?我真的希望能够让我的用户只选择他们想要的季度并自动计算其他所有内容来运行此程序。

我尝试通过数据库专家链接参数,通过记录选择,重新格式化日期参数以验证它们是否匹配。我还尝试将

startdate
enddate
参数放入我的存储过程中,但仍然遇到将自动计算的 Crystal 参数传递到存储过程并计算每个日期的相同问题。

stored-procedures crystal-reports
1个回答
0
投票

一种解决方案是使用子报表:

  • 仅在主报告中包含基于日历的数据集。
  • 然后插入一个子报告,该报告调用您的存储过程,并用单个日期进行参数化,
  • 将此子报告放在主报告的详细信息部分,
  • 并将主报告的日期数据字段链接到子报告的日期参数。
© www.soinside.com 2019 - 2024. All rights reserved.