1. 程式人生 > >【HANA系列】SAP HANA XS使用Data Services查詢CDS實體【二】

【HANA系列】SAP HANA XS使用Data Services查詢CDS實體【二】

公眾號:SAP Technical 本文作者:matinal 原文出處: http://www.cnblogs.com/SAPmatinal/ 原文連結: 【HANA系列】SAP HANA XS使用Data Services查詢CDS實體【二】  

前言部分

接上一篇,繼續來寫這一篇文章,還是關於SAP HANA XS使用Data Services查詢CDS實體的內容。如果讀者喜歡,順便點個關注。

 

查詢CDS實體

7、使用條件限制結果集。可以使用$ where()方法來設定限制查詢返回的結果集的條件。 以下示例顯示如何選擇淨額等於其訂單淨額的一半(或更多)的所有專案。

對諸如專案之類的欄位和關聯的引用可以作為實體建構函式的屬性,例如soHeader.items。 如在投影(projections)的情況下,XSDS會自動為條件引用的關聯生成所有必需的JOIN,即使它們不是當前投影(projections)的一部分。 要在$中建立更復雜的表示式。可參看前面介紹的API。

8、將查詢條件細化為特定的匹配模式。

使用$ matching()方法,可以使用$ find()和$ findAll()方法的類JSON格式的語法來指定條件表示式。 以下程式碼示例顯示瞭如何進一步優化結果集返回的選擇,例如,僅接受歐元貨幣和數量大於2的那些資料。

 

9、向結果集中新增任意值。

可以使用$ addFields()方法將任意計算值新增到結果集中。 以下示例顯示如何查詢自交付銷售專案以來通過的天數。

 

10、使用具有計算欄位的聚合。

彙總是將$ addFields()運算子與附加$ aggregate()方法組合的計算欄位的特殊情況。 以下示例顯示檢索前100個銷售訂單ID的平均數量及其產品ID。

 

如果需要使用更具限制性的投影,則可以在$ aggregate呼叫中替換為false,如以下示例所示,將刪除結果集的銷售訂單ID。

 

11、指定結果集的順序。

要在結果集中指定順序,可以使用$ order()方法,其中包括多個訂單條件作為引數。 每個訂單標準包含一個屬性“by”和一個定義所需順序的表示式。 可選地,每個標準可以包含標記$ desc以要求降序和$ nullsLast標誌。 以下示例使用兩個標準來首先按照標題中的淨值降序排列結果集,然後按專案淨值的順序顯示結果集。

 

12、從結果集中刪除重複項。

$ distinct運算子從結果集中刪除重複項。 以下示例顯示如何顯示銷售訂單中使用的所有貨幣的集合。

到此結束關於SAP HANA XS使用Data Services查詢CDS實體的使用講解。