sap hana 计算列检查多个 ID
sap hana calculated column check for multiple IDs
我想创建一个计算列,它将显示两个值: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 行应该是:
Y
N
N
是
N
任何帮助将不胜感激
计算列不允许跨组聚合或当前行以外的聚合。
要实现您的目标,您可以做的是创建一个单独的聚合节点并计算按 CUSTOMER-ID
分组的不同 VAT-IDs
。
有了这个,您现在可以拥有一个计算列来检查 VAT-ID-COUNT > 1
并将其映射到您的 Y
/N
值。
正如 Lars 所提到的,不可能在 calculated field on HANA table
中使用 window 函数
但是您可以使用以下查询来检查客户的增值税号是否为多个
select
CustomerId, VATID,
case
when (count(*) over (partition by CustomerId, VATID)) > 1
then 'Y'
else 'N'
end
from CustomerVAT;
我想创建一个计算列,它将显示两个值: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 行应该是: Y
N
N
是
N
任何帮助将不胜感激
计算列不允许跨组聚合或当前行以外的聚合。
要实现您的目标,您可以做的是创建一个单独的聚合节点并计算按 CUSTOMER-ID
分组的不同 VAT-IDs
。
有了这个,您现在可以拥有一个计算列来检查 VAT-ID-COUNT > 1
并将其映射到您的 Y
/N
值。
正如 Lars 所提到的,不可能在 calculated field on HANA table
中使用 window 函数但是您可以使用以下查询来检查客户的增值税号是否为多个
select
CustomerId, VATID,
case
when (count(*) over (partition by CustomerId, VATID)) > 1
then 'Y'
else 'N'
end
from CustomerVAT;