【转】简单介绍几个CDS视图聚合函数
今天簡單介紹幾個CDS視圖聚合函數(shù)。
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視圖使用聚合函數(shù)SUM和GROUP BY product和category來取出產(chǎn)品的總庫存。
?
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視圖使用聚合函數(shù)MAX和GROUP BY bp_id和company_name取出客戶產(chǎn)生的最大銷售額。
?
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視圖使用聚合函數(shù)MIN和GROUP BY?bp_id和company_name取出客戶產(chǎn)生的最小銷售額。
?
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視圖使用聚合函數(shù)COUNT(*)和GROUP BY bp_id和company_name取出為業(yè)務(wù)伙伴創(chuàng)建的銷售訂單總數(shù)。
?
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視圖使用聚合函數(shù)COUNT(DISTINCT)和GROUP BY product_id取出針對產(chǎn)品創(chuàng)建的銷售訂單總數(shù)。
?
總結(jié):
①:使用的每個聚合表達式都需要使用AS定義替代元素名稱。
②:聚合表達式應(yīng)該需要GROUP BY子句。
③:CDS視圖中使用的所有非聚合字段都應(yīng)在GROUP BY子句中指定。
總結(jié)
以上是生活随笔為你收集整理的【转】简单介绍几个CDS视图聚合函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: S4的ESH Bug导致Search h
- 下一篇: 【面试福利篇】英文面试的相关资料