consultas avanzadas con gxquery 4.0

17
#GX24 Advanced queries with GXquery Gustavo Martínez [email protected]

Upload: genexus

Post on 22-Nov-2014

149 views

Category:

Technology


2 download

DESCRIPTION

Consultas avanzadas con GXquery 4.0

TRANSCRIPT

Page 1: Consultas avanzadas con GXquery 4.0

#GX24 #GX24

Advanced queries with GXquery

Gustavo Martínez [email protected]

Page 2: Consultas avanzadas con GXquery 4.0

#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

Let’s see some scenarios

Page 4: Consultas avanzadas con GXquery 4.0

#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

#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

#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

#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

#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

#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

#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

#GX24

Scenario #5 – Subqueries (example)

Sum (InvoiceAmount) > Average (InvoiceAmount) By (CustomerName)

Page 12: Consultas avanzadas con GXquery 4.0

#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

#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

#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

#GX24

Scenario #9 – API

Let’s see it on action

Page 16: Consultas avanzadas con GXquery 4.0

¡Thank You!

Page 17: Consultas avanzadas con GXquery 4.0

#GX24

Gustavo Martínez [email protected]