SQL命令日期参数

2020-09-20 12:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我需要专家的帮助...

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

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


大家好,

我需要专家的帮助!

我最初创建此脚本是为了在每个星期一运行有关上一个星期六的报告。

现在的要求是,报表可以在昨天(星期日),上周(星期日-星期六)和上个月(上一个上个月的前一个月)以及自定义日期范围内运行。

这是我的原始命令,我知道我需要在Crystal Modify命令窗口中添加参数,但这就是我迷路的地方。 用户希望在下拉菜单中查看上述参数选项以获取开始和结束日期(t-1,t-7,mb-1,me-1,自定义日期)。

希望这是可能的!

选择
COALESCE(MAX(CONVERT(VARCHAR,EMP.NAME)),'* UNKNOWN CODER ID')"编码器用户ID"
,PAC.TAR_ID" TAR ID"
,PAC。 CODED_DATE" CODED DATE"
,COUNT(PAC.CHARGE_LINE)" LINE COUNT"
,COALESCE(MAX(CONVERT(VARCHAR,PAC.TX_ID)),'* UNKNOWN TX ID')" TX ID"
,COALESCE(MAX(CONVERT(VARCHAR,PAC.OLD_RETRO_ETR_ID)),'* UNKNOWN TX ID')" ETR ID"


FROM
PRE_AR_CHG PAC
左外连接 ITY_EMP EMP
在PAC.CODER_USER_ID = EMP.USER_ID

在哪里

GETDATE()-9和GETDATE()-2之间的PAC.CODED_DATE

GROUP BY CODE.DATE
,EMP.USER_ID
,PAC.TAR_ID

5条回答
N-Moskvin
2020-09-20 12:21 .采纳回答

这可能取决于您使用的Crystal的版本,但可能不是您的用户想要的方式。 我不记得哪个版本为我们提供了可选参数-是2008还是2011。但是,如果未选择自定义日期,则无法隐藏日期参数。

您将创建一个"日期类型"参数,该参数将具有您的选项-昨天,上周,上个月,自定义。 在命令编辑器中创建此参数。 保存命令后,就可以在报表的"字段资源管理器"中对其进行编辑以添加有效值。

基于您发布的SQL,我将假定您正在使用MS SQL Server-因此,我将使用该语法。 我还将对此进行设置,以使其不依赖于星期一运行的报告-它会计算上一整周和上一整月。 您的Where子句将如下所示:

哪里
   ('{?Date Type}'='昨天'和PAC.CODED_DATE = GetDate()-1)
   要么
   ('{?Date Type}'='Last Week'和PAC.CODED_DATE
         GetDate()-DatePart(wd,GetDate())-6和
         GetDate()-DatePart(wd,GetDate()))
   要么
   ('{?Date Type}'='Last Month'and PAC.CODED_DATE之间
         DateAdd(m,-1,GetDate()-Day(GetDate())+1)和
         GetDate()-Day(GetDate()))
   要么
   ('{?Date Type}'='Custom'和PAC.CODED_DATE在{?StartDate}和{?EndDate}之间)

如果您以前从未在命令中使用过参数,请参阅我的博客文章此处以获取更多信息。

-戴尔

一周热门 更多>