在SAP HANA图形计算视图中计算不同

时间:2017-02-22 10:47:20

标签: sap hana

我们将下表作为 -

CUSTOMER_NO ORDER_NO ITEM_NO
C1            O1      I1
C1            O1      I2
C1            O1      I3
C1            O2      I4
C1            O2      I2 

我需要的是每个客户的不同订单数量和ITEMS数量 -

CUSTOMER_NO    ORDER_NO                ITEM_NO
C1               2(distinct)       5(not distinct)

如何在SAP HANA图形计算视图中实现这一目标?

最好的问候

2 个答案:

答案 0 :(得分:0)

您需要在图形计算视图中为其创建一个计数器。 这在建模指南中详细解释 - 我建议将该文档读取。

答案 1 :(得分:0)

请检查以下SQL Select语句

select 
    distinct
    t1.CUSTOMER_NO, 
    (select count(distinct t2.ORDER_NO) from OrderItems t2 where t2.CUSTOMER_NO = t1.CUSTOMER_NO) as ORDER_NO,
    (select count(distinct t2.ITEM_NO) from OrderItems t2 where t2.CUSTOMER_NO = t1.CUSTOMER_NO) as ITEM_NO
from OrderItems t1

如果我们可以像在SQL Server中那样在SAP HANA中应用COUNT aggregate function with Partition By子句,那么有一种更简单的方法。正如我所看到的,HANA SQLScript开发人员现在无法使用此语法用于Count()函数 所以我使用了上面的SELECT代码

中的子选择

我希望它有所帮助,