Hana-拆分日期范围-获取每月的最后一天

2020-09-16 03:51发布

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

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


你好

我有一个范围日期,例如2018-01-15和2018-03-21,

我需要获取每个月的最后一天(2018-03-21)

所以响应应该是这样的:

卢卡斯| 1200 | 2018-01-31

安娜| 1200 | 2018-02-28

Rob | 1200 | 2018-03-21

但是我不知道如何分割这个日期来获得这个回复。

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

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


你好

我有一个范围日期,例如2018-01-15和2018-03-21,

我需要获取每个月的最后一天(2018-03-21)

所以响应应该是这样的:

卢卡斯| 1200 | 2018-01-31

安娜| 1200 | 2018-02-28

Rob | 1200 | 2018-03-21

但是我不知道如何分割这个日期来获得这个回复。

付费偷看设置
发送
2条回答
SC_Yao
1楼 · 2020-09-16 04:09.采纳回答

执行此操作的一种方法是使用辅助表(例如M_TIME_DIMENSION)查找指定范围内的所有日期。

因此,您可以使用LAST_DAY()SQL函数获取每个日期的月份的最后日期。

最后,您可以按照自己喜欢的任何维度进行汇总,并保留最后一天的数据(例如通过MIN/MAX汇总功能)。

所有这些与查询的其余部分如何联系在一起? 不知道,因为您还没有提供源表结构,测试数据或其他任何可以实际构成一个有效示例的东西。

吹牛啤
2楼-- · 2020-09-16 04:19

现在这很简单。

创建列表mydat(txdate日期,值整数);

 插入mydat值('2018-01-10',2);
 插入mydat值('2018-01-10',5);
 插入mydat值('2018-01-10',3);

 插入mydat值('2018-02-08',10);
 插入mydat值('2018-02-11',1);
 插入mydat值('2018-02-22',4);

 插入mydat值('2018-03-02',5);
 插入mydat值('2018-03-15',7);

 选择last_day(txdate)
       ,总和(值)
 来自mydat
 按last_day(txdate)分组;

/*
 LAST_DAY(TXDATE)总和(VALUE)
 2018年1月31日10
 28/02/2018 15
 2018年3月31日12
 */

一周热门 更多>