序文
私たちは、私の公共の数に焦点を当てることができ、より良いレイアウトの数の国民は、より快適に読みます。
ボディパーツ
1を接続し、継続
図7に示すように、結果は条件を使用して設定しました。あなたは、返されたクエリ結果セットの制限を設定する$()メソッドを使用することができますWHERE。次の例では、半分(またはそれ以上)のためにそのネットのネット注文に等しいすべての項目を選択する方法を示しています。
VaRのqSelectedOrders =を qOrderAndItemTitles。$(soHeader.items.NETAMOUNT。 $のDIV(soHeader.NETAMOUNT)。$のGT(0.5 ))
そのようなフィールドおよびそのようなエンティティのコンストラクタの属性、例えばsoHeader.itemsなどの関連アイテムへの参照。関連する突起(突起)の場合のように、のXSD条件が自動的にすべての必要な参照が生成され、彼らは、この突起(突起)Aの一部でなくても、JOINされます。に$で、より複雑な式を作成します。参照してください、APIは、先に説明しました。
8、特定の対戦モード用クエリ絞り込み。
構文$マッチング()メソッド、あなたは見つける$使用することができます()とクラスJSON形式の$のfindAll()メソッドは、条件式を指定します。以下のサンプルコードをさらに返さ選択結果セットを最適化する方法を示し、例えば、2よりも大きいデータのみユーロ通貨および量を受け付けます。
qSelectedOrders = qSelectedOrders $マッチング({ アイテム:{ 通貨:' EUR ' 、 QUANTITY:{ $のGT:2 } } })。
図9は、任意の値は、結果セットに加えます。
結果セットを計算するために任意の値を追加するaddFields()メソッドを$することができます。次の例では、販売を通じて、プロジェクトの引渡し日からの日数を照会する方法を示しています。
qSelectedOrdersの =のqSelectedOrders $ addFields({。 " DAYSAGO":soHeader.items.DELIVERYDATE $ prefixOp( "DAYS_BETWEEN"、新しい 日付()) });
10、重合フィールドを使用して計算しました。
要約は、結合フィールド計算の特別な場合の追加$集合()メソッドを使用して$ addFields()演算子です。次の例では、100受注IDを取得する前に、平均数および製品IDを示しています。
VAR qAverageQuantity。。= soItem $クエリ()$限界(100 )$集合({ SALESORDERID:真、 PRODUCTID:真 })$ addFields。({ averageQuantity:soItem.QUANTITY $平均() })。
あなたはより限定的な投影が必要な場合は、次の例に示すように、それは、$集計偽の呼び出しで結果セットのIDを削除する販売注文を置き換えることができます。
VAR qAverageQuantity。。= soItem $クエリ()$限界(100 )$集合({ SALESORDERID:偽、 PRODUCTID:真 })$ addFields。({ averageQuantity:soItem.QUANTITY $平均() })。
図11に示すように、結果セット内の指定されたためです。
結果セットを指定するために、条件がパラメータとして注文を複数含むことを特徴とする請求$オーダー()メソッドを使用します。各順序は、「による」標準プロパティと所望の配列の定義式が含まれています。あるいは、各フラグを下降DESC $および$ nullsLastに記載の標準的なマーカーを含んでもよいです。次の例は、オーダー最終結果セットが表示される結果セットを順次プロジェクトを降順に正味最初のヘッダーに係る二標準使用します。
qSelectedOrders = qSelectedOrders $順序({$によって:soHeader.NETAMOUNT、。 :$のDESC 真} {$によって:soHeader.items.NETAMOUNT})。
図12は、結果から重複を削除し、濃縮しました。
$ DISTINCT演算子は、結果セットから重複を削除します。次の例では、受注で使用されるすべての通貨のコレクションを表示する方法を示しています。
VAR qAllCurrencies。。= soHeader $クエリ()$プロジェクト({通貨:真})。異なります$()。
これは、データサービスCDSエンティティを使用してSAP HANA XSクエリについて説明するための最終用途です。