点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,我的数据模型基于ABAP CDS VIEWS(发行:Netweaver 751 SP02,HANA数据库)。 SAP Analytics Cloud将通过实时数据连接使用此数据模型!
最后,我想创建一个每日报告。 但是,我的数据不完整,即某些天没有条目。 最后的值只是在这里传输。 以下示例说明了我的要求:
来源表(源)
我通过左(外部)联接将SAP标准日历(如左表)链接到源表。 至少我整天都这样:
但是如何更新各个值? 结果应为下表:
使用SQL函数LEAD/LAG并没有使我真正地走得更远,因为我在多行代码之间存在空白,并且这些函数仅涉及"相邻行"。
有什么想法吗?
非常感谢!
最诚挚的问候,
战栗
(2.5 kb)
您好-这是我目前解决上述问题的方法。
我已经使用SQL脚本创建了一个表函数,在其中选择了所有交易数据。 我还添加了一个列,该列按公司代码,银行,帐户和日期对行号进行计数。
这是在表函数视图的方法实现中SQL的样子:
Table函数CDS视图如下:
我还创建了一个视图,在该视图中我将masterdata表与SAP标准日历结合在一起。 在以下屏幕截图中,此视图称为/SERR/I_M_MD_PER_DATE。 重要的是打开条件,我在日期相关列上设置了<=条件,这是为了将以前的值设置为原始数据中没有值的字段。
在表格功能视图中,我的每日主数据和事务数据之间存在左外部联接。
除了已经提到的视图外,我还必须创建另一个视图,该视图返回" Max"值。 该视图在上面的视图中仅选择具有最大聚合的键值。
最后一步需要使用此视图-尺寸视图。 在最后一步,您必须通过内部联接将"最大视图"与" daily-masterdata-transactiondata"视图联接。 同样重要的是关于行号的开启条件。
目前,它是这样工作的。
最后一个内部联接是必需的,因为lef-outer-join会生成不需要的条目。 使用"最大值"值可以再次从数据中丢弃错误的条目。
最诚挚的问候,
Thorsten
我真的很想看看如何使用CDS来实现。
拥有这种功能非常有用。
J。
如果这是您想要的
然后我使用SQL达到了这样的目的
很抱歉您读为VALUE的VLAUE的错字; 我使用SQL的Windows函数,不确定是不是可以在ABAP中使用这些函数,因为我在HANA Side的SQL上有更多的了解
SELECT DATEVAL,VLAUE,SUM(VLAUE)超过(按分区划分,按顺序划分)RUNNNG_VAL,来自
(
SELECT *,RANK()超过(按运行顺序排序)来自
(SELECT *,SUM(VLAUE)OVER(ORDER BY DATEVAL)RUNVAL
测试日期-在此替换您的表名和列名
按日期排序)
按日期排序
)
您好。 我尝试过,但是不幸的是我的问题有点复杂。 我还有其他维度(不仅是日期),例如公司代码,银行和帐户。 我还有另一个关键指标列,该列也必须进行更新。 如果有人再次找到时间和乐趣,您可以使用ANIRUDDHA SHINDE的方法(RANK,PARTITION)来做到这一点吗? 同样是一个源表和一个结果表-您可以更好地理解我的挑战。 该表的键将是CalendarDate,Company,Bank和Account。
来源:
现在,所有这些数据都是每天进行的(请注意-这是一张表-我仅将数据并排放置以得到紧凑视图)
最后,结果(也是一张表):
非常感谢您。
最诚挚的问候,
欢迎
非常感谢您的回复! 我将使用ABAP CDS进行尝试。 同时,我也找到了解决方案,但您的情况看起来好得多。
我将尽快在这里提供我的解决方案,如果ABAP CDS可以根据您的建议,我会通知您!
谢谢!
最好的问候
催眠
一周热门 更多>