Crystal Reports:在报表中实现昨天的日期或日期范围

2020-09-07 03:55发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我目前正在报表中使用下面的SQL...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我目前正在报表中使用下面的SQL来管理用户的要求。

1。 安排报告以显示前一天的数据。

2。 根据需要运行数据范围的报告。

声明
 @beginDate日期时间,
 @endDate日期时间

 if(convert(date,{?BeginDate})= convert(date,'1/1/1800')and convert(date,{?EndDate})= convert(date,'1/1/1800'))
   开始
    设置@beginDate = dateadd(day,datediff(day,1,getdate()),0);
    设置@endDate = dateadd(day,datediff(day,1,getdate()),0);
   结束
 其他
   开始
    设置@beginDate = {?BeginDate};
    设置@endDate = {?EndDate};
   结束

 选择Staffing_Calendar_Da,payhours,Staffing_Start_Dt,unit_name_ch,t.Pos_Desc_Ch,Wstat_Abrv_Ch,Payhours_day,Payhours_night,total_payhours,p.category2,
 如果Payhours_day> 0,则"天"以"天"结尾,
 如果Payhours_night> night> 0然后" Night"以" Night"结尾,
 在total_payhours> 0的情况下,"全部"以" day_night"结尾
  来自vw_position_OTP t
 内部连接vw_mcfrs_Position_Hours p on t.Pos_Desc_Ch = p.Pos_Desc_Ch
 在@beginDate和@endDate之间的t.Staffing_Calendar_Da
 和Category2不像'%chief';
 

我将" 1/1/1800"用作参数值,以便在计划报告时将其传递给报告。 用户将不知道该参数值。 他将只获得包含前一天数据的报告。

现在,我的问题是,是否有办法从SQL中删除此" 1/1/1800"并对其进行配置,以便它可以使用例如getdate()自动生成前一天的数据? 我一直在寻找实现此目的的方法,但问题是,我不知道如何保留日期范围输入行-@beginDate和@endDate之间的t.Staffing_Calendar_Da。

6条回答
Violet凡
2020-09-07 04:09

您好 Kenshin Himura

好的。 如果您是我,我将使用单独的测试环境并使用到目前为止收集的所有响应进行进一步的调查。 我也将毫不犹豫地搜索各种论坛(例如该社区)或与此查询相关的互联网上可能存在的任何其他论坛。 如果在调查后没有看到进一步的进展,我会聘请Crystal Reports开发人员或专业服务公司,他们可以利用他们的专业知识和资源来解决我的问题。

我希望这会有所帮助。

此致

山姆

一周热门 更多>