SAP HANA计算的列检查多个ID

时间:2019-03-29 08:02:17

标签: if-statement expression calculated-columns hana

我要创建一个计算列,该列将显示两个值:Y或N

2列在这里很重要,“ VAT-ID”和“ CUSTOMER-ID”。计算列将检查客户ID是否具有多个VAT ID。如果是,则应显示值“ Y”,否则应显示“ N”。

例如,customer-id列的前5行是: 123456

654321

666666

123456

654321

VAT-id列的前5行是: EE999999999

AA999999999

GG999999999

KK999999999

AA999999999

则计算列的前5行应为: 是

N

N

Y

N

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

计算列不允许跨组或除当前行以外的聚合。

要实现目标,您可以做的是创建一个单独的聚合节点并计算按VAT-IDs分组的不同CUSTOMER-ID

现在,您可以拥有一个计算列来检查VAT-ID-COUNT > 1并将其映射到您的Y / N值。

答案 1 :(得分:0)

如Lars所述,在calculated field on HANA table

中无法使用窗口功能

但是您可以使用以下查询来检查客户的增值税号是否为多个

select
CustomerId, VATID,
case 
    when (count(*) over (partition by CustomerId, VATID)) > 1 
    then 'Y' 
    else 'N' 
end
from CustomerVAT;