consultas avanzadas con gxquery 4.0
DESCRIPTION
Consultas avanzadas con GXquery 4.0TRANSCRIPT
#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
Let’s see some scenarios
#GX24
Scenario #1 – Show all values
Invoices Customers
Show all values = No Inner Join
Invoices Customers
Show all values = Yes Left Join
#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!!
#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
#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
#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
#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“ )] )]
#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
#GX24
Scenario #5 – Subqueries (example)
Sum (InvoiceAmount) > Average (InvoiceAmount) By (CustomerName)
#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
#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
#GX24
Scenario #8 – User defined attributes
• Horizontal and aggregate formulas • Can be reused throughout all the queries like
regular attributes
#GX24
Scenario #9 – API
Let’s see it on action
¡Thank You!
#GX24
Gustavo Martínez [email protected]