簡體   English   中英

ABAP CDS 中的透視表/反透視表

[英]Pivot/Unpivot table in ABAP CDS

是否可以在 ABAP CDS 查詢中進行數據透視查詢? 有沒有辦法像我們在 SQL Server 和 MySQL 中一直做的那樣實現這一目標?

不,目前它在 ABAP CDS 和 HANA 中均不受本機支持。

您可以使用多種解決方法來模擬樞軸行為:

  1. 使用COUNTUNION ALL旋轉[示例]

     select vendor_id, sum("E1") AS "E1", SUM("E2") AS "E2", SUM("E3") AS "E3" FROM ( select vendor_id, COUNT(NUM) as "E1", 0 AS "E2" , 0 AS "E3" from "ABHISHEAGRAW". WHERE EMP_ID = 'E1' GROUP BY vendor_id union all select vendor_id, 0 AS “E1”, COUNT(NUM) as "E2", 0 AS "E3" from "ABHISHEAGRAW". WHERE EMP_ID = 'E2' GROUP BY vendor_id union all select vendor_id, 0 AS “E1”, 0 as "E2", COUNT(NUM) AS "E3" from "ABHISHEAGRAW". WHERE EMP_ID = 'E3' GROUP BY vendor_id ) GROUP BY vendor_id ORDER BY vendor_id
  2. 通過CASE使用COUNT透視[示例]

     select vendor_id, sum("E1") AS "E1", SUM("E2") AS "E2", SUM("E3") AS "E3" FROM ( select vendor_id, CASE (EMP_ID) WHEN 'E1' THEN 1 ELSE 0 END as "E1", CASE (EMP_ID) WHEN 'E2' THEN 1 ELSE 0 END as "E2", CASE (EMP_ID) WHEN 'E3' THEN 1 ELSE 0 END as "E3" from “ABHISHEAGRAW”. )GROUP BY vendor_id ORDER BY vendor_id
  3. 使用 CASE 進行透視和分組[示例]

給定的片段是 HANA 示例,但它們可以適用於 ABAP CDS。 如果您提供案例的MCVE ,我們可以為您提供可能的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM