View SAP HANA-计算列中的计算

View SAP HANA-计算列中的计算,view,sap,data-modeling,calculated-columns,hana,View,Sap,Data Modeling,Calculated Columns,Hana,是否可以在计算视图中创建计算列,如下所示: Table A Month Amount 1 1000 1 2000 2 3000 2 3500 filter month={CurrentMonth}; // here CurrentMonth= 2 输出 [{ previousMnthAmount:3000, currentMnthAmount:6500 }] 我建议创建一个脚本计算视图

是否可以在计算视图中创建计算列,如下所示:

Table A

Month       Amount

1           1000

1           2000

2           3000

2           3500


filter month={CurrentMonth}; // here CurrentMonth= 2
输出

[{
previousMnthAmount:3000,

currentMnthAmount:6500
}]

我建议创建一个脚本计算视图。在其中,您可以编写SQLScript代码来执行必要的选择,以获取所需的数据

我看到两个选项,基于您希望使用视图的内容:

没有输入参数。 输入参数。 如果您选择带有输入参数的视图,如果您只对对应于一个月的数据感兴趣,则可能会避免一些不必要的计算

无参数 应采取以下措施:

选择T1.MONTH,T1.TOTAL作为当前_总计,T2.TOTAL作为上一个_总计 从所选月份开始,将测试组的金额按月合计为T1 左键连接选择月份,将测试组中的金额按月合计为T2 T1.MONTH=T2.MONTH+1; 您应该在其中使用自己的表替换TEST。假设以下是表格的内容:

然后您将获得以下结果:

如果将其包装到视图中,则可以从中选择并执行WHERE MONTH=2,然后获取第2个月的值

带参数 您可以通过完全删除联接并执行过滤求和来优化sql:

从测试中选择SUMAMOUNT,其中月份=2作为当前_总数, 从测试中选择SUMAMOUNT,其中月份=1作为虚拟的上一个_总数; 当然,在calc.视图中,应该使用参数(例如2->:IV_month和1->:IV_month-1)替换固定的月份值2和1。使用与上述相同的内容,您将获得以下结果:


我不确定问题的背景,这可能不是您试图解决的实际问题的适当答案。如果不是,则表示歉意:-如果这是一个数据仓库实现,并且您希望在前端报告中提供该信息,则更通用的方法是在时间维度中设置每日更新的当前月份和上一个月份标志。然后,您可以在计算或报告前端中使用它们。然后,这将适用于任何视图,而不是为该情况创建特定视图

谢谢你的详细解释。我们会试试这个