【转】简单介绍几个CDS视图聚合函数
生活随笔
收集整理的這篇文章主要介紹了
【转】简单介绍几个CDS视图聚合函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天簡單介紹幾個CDS視圖聚合函數。
1、SUM
代碼舉例如下:
@AbapCatalog.sqlViewName:?'ZCDS_AGGR' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label:?'Aggregations'define view Z_Cds_Agg_sum as select from snwd_stock?join snwd_pd on snwd_stock.product_guid = snwd_pd.node_key{ ? ?key?snwd_pd.product_id,snwd_pd.category, ? ?// Aggregate function "SUM"sum(snwd_stock.quantity)?as?total_stock?? ?}?group?by?snwd_pd.category,snwd_pd.product_id在上面的示例中,ABAP CDS視圖使用聚合函數SUM和GROUP BY product和category來取出產品的總庫存。
?
2、MAX
代碼舉例如下:
@AbapCatalog.sqlViewName:?'ZCDS_AGGR' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label:?'Aggregations' define view Z_Cds_Agg_max as select from snwd_sojoin snwd_bpa on snwd_so.buyer_guid = snwd_bpa.node_key{key??snwd_bpa.bp_id,snwd_bpa.company_name,// Aggregate function "MAX"max(snwd_so.gross_amount)?as?max_sales_amt }?group?by?snwd_bpa.bp_id,snwd_bpa.company_name在上面的示例中,ABAP CDS視圖使用聚合函數MAX和GROUP BY bp_id和company_name取出客戶產生的最大銷售額。
?
3、MIN
代碼舉例如下:
@AbapCatalog.sqlViewName:?'ZCDS_AGGR' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label:?'Aggregations' define view Z_Cds_Agg_min as select from snwd_sojoin snwd_bpa on snwd_so.buyer_guid = snwd_bpa.node_key{key??snwd_bpa.bp_id,snwd_bpa.company_name,// Aggregate function "MIN"min(snwd_so.gross_amount)?as?min_sales_amt }?group?by?snwd_bpa.bp_id,snwd_bpa.company_name在上面的示例中,ABAP CDS視圖使用聚合函數MIN和GROUP BY?bp_id和company_name取出客戶產生的最小銷售額。
?
4、COUNT(*)
代碼舉例如下:
@AbapCatalog.sqlViewName:?'ZCDS_AGGR2' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label:?'Aggregations' define view Z_Cds_Agg as select from snwd_sojoin snwd_bpa on snwd_so.buyer_guid = snwd_bpa.node_key{key??snwd_bpa.bp_id,snwd_bpa.company_name,// Aggregate expression COUNT( * )count(*)?as?min_sales_amt }?group?by?snwd_bpa.bp_id,snwd_bpa.company_name在上面的示例中,ABAP CDS視圖使用聚合函數COUNT(*)和GROUP BY bp_id和company_name取出為業務伙伴創建的銷售訂單總數。
?
5、COUNT(DISTINCT)
代碼舉例如下:
@AbapCatalog.sqlViewName:?'ZCDS_AGGR_4' @AbapCatalog.compiler.compareFilter: true @AccessControl.authorizationCheck: #CHECK @EndUserText.label:?'Aggregate Expressions' define view Zcds_Agg_C as select from snwd_so_i ? ? ? ??join snwd_pd on snwd_so_i.product_guid = snwd_pd.node_key ? ? ? ?{key?snwd_pd.product_id, ? ? ? ? ? ? ? ? ? ?// Aggregate Expression - COUNT( DISTINCT )count( distinct snwd_so_i.node_key)?as?orders_count?? ? ? ? ? ? ? ? }?group?by?snwd_pd.product_id在上面的示例中,ABAP CDS視圖使用聚合函數COUNT(DISTINCT)和GROUP BY product_id取出針對產品創建的銷售訂單總數。
?
總結:
①:使用的每個聚合表達式都需要使用AS定義替代元素名稱。
②:聚合表達式應該需要GROUP BY子句。
③:CDS視圖中使用的所有非聚合字段都應在GROUP BY子句中指定。
總結
以上是生活随笔為你收集整理的【转】简单介绍几个CDS视图聚合函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: S4的ESH Bug导致Search h
- 下一篇: 【面试福利篇】英文面试的相关资料