[英]Get count of distinct key field values from CDS
我想問一下是否可以使用 ABAP 動態獲取不同字段的計數。
我們的 CDS 中的 key 有 9 個字段,數量很多,但由於歷史決定,無法拆分。 我需要的是如下代碼:
select count(distinct (lv_requested_elements)) from CDS_VIEW;
或者
select count(*) from (select distinct lv_requested_elements from CDS_VIEW);
我知道可以將 select 讀入 memory 並獲得sy-dbcnt
但我想確定沒有其他選擇。
我假設最簡單直接的方法是將最小字段讀入 memory 然后按分組(區分)行計數:
DATA(fields) = ` BLART, BLDAT, BUDAT`.
DATA: lt_count TYPE TABLE OF string.
SELECT (fields(6))
INTO TABLE @lt_count
FROM ('BKPF')
GROUP BY (fields).
DATA(count) = sy-dbcnt.
前面提到的CTE使用相同的 memory 讀取,因此您不會獲得任何性能提升:
公用表表達式創建一個臨時表格結果集,可在 WITH 語句執行期間訪問
如果您要經常計算此組合鍵,我建議創建消費或嵌套 CDS 視圖,它會即時執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.