Consultas avanzadas con GXquery 4.0
-
Upload
genexus -
Category
Technology
-
view
149 -
download
2
description
Transcript of Consultas avanzadas con GXquery 4.0
![Page 2: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/2.jpg)
#GX24
How can I…?
Collection type parameters
Optional parameters
Values styles
Conditional styles
Show all values property
Percentage property
Grouping Order
Subqueries
User defined attributes
API
![Page 3: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/3.jpg)
Let’s see some scenarios
![Page 4: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/4.jpg)
#GX24
Scenario #1 – Show all values
Invoices Customers
Show all values = No Inner Join
Invoices Customers
Show all values = Yes Left Join
![Page 5: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/5.jpg)
#GX24
Scenario #2 – Percentage
Product Sales
Product 1 100
Product 2 200
Product 3 300
… …
Product Sales
Product 1 10%
Product 2 20%
Product 3 30%
… …
Total
1000
(SELECT Product, Sum(…) as Sales FROM … WHERE …) AS N
(SELECT Sum(…) as Total FROM…) AS T
SELECT N.Product, N.Sales/T.Total FROM N,T
No axis!! No filters!!
![Page 6: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/6.jpg)
#GX24
Scenario #3 – Grouping
Date Sales
Date 1 100
Date 2 200
Date 3 300
… …
Date Year Month Sales
Date 1 Year(Date 1) Month(Date 1) 100
Date 2 Year(Date 2) Month(Date 2) 200
Date 3 Year(Date 3) Month(Date 3) 300
… … … …
Only for Date and DateTime attributes
![Page 7: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/7.jpg)
#GX24
Scenario #4 – Ranking
Customer Sales
Customer 1 100
Customer 2 500
Customer 3 300
Customer 4 600
Customer 5 400
… …
Customer N 100
Customer Sales
Customer 4 600
Customer 2 500
Customer 5 400
Sort
Cut
![Page 8: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/8.jpg)
#GX24
Scenario #5 – Subqueries
Supplier Product
Supplier 1 Product A
Supplier 1 Product B
Supplier 2 Product A
Supplier 2 Product C
Supplier 3 Product D
Supplier 3 Product E
… …
Filter #1: “Product = A” Return: Suppliers list
Filter #2: “Supplier in [Suppliers list]” Return: Suppliers + Products
![Page 9: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/9.jpg)
#GX24
Scenario #5 – Subqueries (example)
SupplierName in [SupplierName where (ProductName = “A")]
One level subquery:
Two levels subquery:
CustomerName in [ CustomerName where ( ProductName in [ProductName where ( SupplierName = “Best Buy“ )] )]
![Page 10: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/10.jpg)
#GX24
Scenario #5 – Subqueries
Step #1: Aggregate Return: Value
#2 Compare: “Sales > Value Return: Customers + Sales
Customer Sales
Customer 1 100
Customer 2 200
Customer 3 300
Customer 4 400
Customer 5 500
… Customer N 1000
![Page 11: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/11.jpg)
#GX24
Scenario #5 – Subqueries (example)
Sum (InvoiceAmount) > Average (InvoiceAmount) By (CustomerName)
![Page 12: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/12.jpg)
#GX24
Scenario #6 – Parameters
Category Product
Category 1 Product A
Category 1 Product B
Category 2 Product C
Category 2 Product D
Category 3 Product E
Category 3 Product F
… …
CategoryName in &CategoryNames when &CategoryNames.Count>0
Collection type parameters Conditional filters
![Page 13: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/13.jpg)
#GX24
Scenario #7 – Styles
Customers Sales
Customer 1 100
Customer 2 200
Customer 3 300
Customer 4 400
Customer 5 500
… …
Customer N 1000
Customers Sales
Customer 1 100
Customer 2 200
Customer 3 300
Customer 4 400
Customer 5 500
… …
Customer N 1000
Customers Sales
Customer 1 100
Customer 2 200
Customer 3 300
Customer 4 400
Customer 5 500
… …
Customer N 1000
Styles Conditional styles Value styles
![Page 14: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/14.jpg)
#GX24
Scenario #8 – User defined attributes
• Horizontal and aggregate formulas • Can be reused throughout all the queries like
regular attributes
![Page 15: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/15.jpg)
#GX24
Scenario #9 – API
Let’s see it on action
![Page 16: Consultas avanzadas con GXquery 4.0](https://reader035.fdocuments.us/reader035/viewer/2022081413/547027d3b4af9f980a8b4644/html5/thumbnails/16.jpg)
¡Thank You!