public static interface DatamartContext.Query
DatamartContext.Query object being manipulated to allow for builder like usage.| Modifier and Type | Method and Description |
|---|---|
Table |
getTable() |
DatamartContext.Query |
having(Filter... filters)
Adds generic
Filters to the query's HAVING clause. |
DatamartContext.Query |
having(String... havingClauses)
Parses and ANDs one or more SQL-like conditions to the query's HAVING clause.
|
DatamartContext.Query |
orderBy(String... orderClauses)
Parses and adds one or more SQL-like conditions to the query's ORDER BY clause.
|
DatamartContext.Query |
select(String expr,
String alias)
Adds a projection to the query.
|
DatamartContext.Query |
select(String expr,
String alias,
String... statistics) |
DatamartContext.Query |
selectAll() |
DatamartContext.Query |
selectAll(boolean fieldNameAsAlias) |
DatamartContext.Query |
selectCount()
Adds a COUNT(*) projection to the query.
|
DatamartContext.Query |
selectDistinct()
Equivalent to the DISTINCT option in an SQL select statement.
|
DatamartContext.Query |
setMaxRows(Integer maxRows)
Limits the number of rows returned in the query result.
|
void |
setOptions(Map<String,Object> options)
Allows for a number of query tweaking options, such as setting the target currency to convert to (if applicable), and requesting
additional statistics to be calculated.
|
DatamartContext.Query |
where(CustomerGroup customerGroup)
Adds a CustomerGroup condition to the query's WHERE clause, for example a customer group from an InputEntry("CustomerGroup") parameter.
|
DatamartContext.Query |
where(DatamartContext.DataSlice slice) |
DatamartContext.Query |
where(Filter... filters)
Adds generic
Filters to the query's WHERE clause. |
DatamartContext.Query |
where(ProductGroup productGroup)
Adds a ProductGroup filter condition to the query's WHERE clause, for example a product group from an InputEntry("ProductGroup") parameter.
|
DatamartContext.Query |
where(String... whereClauses)
Parses and ANDs one or more SQL-like conditions to the query's WHERE clause.
|
Table getTable()
DatamartContext.Query selectDistinct()
DatamartContext.QueryDatamartContext.Query selectCount()
DatamartContext.QueryDatamartContext.Query select(String expr, String alias)
expr - An expression referencing any queryable field in the query's source FC.alias - The projection alias; helpful when accessing the query result data rows.DatamartContext.QueryDatamartContext.Query select(String expr, String alias, String... statistics)
DatamartContext.Query selectAll()
DatamartContext.Query selectAll(boolean fieldNameAsAlias)
DatamartContext.Query where(DatamartContext.DataSlice slice) throws Exception
ExceptionDatamartContext.Query where(ProductGroup productGroup) throws Exception
productGroup - The ProductGroup for which the filter representation is to be added to the query's WHERE clause.DatamartContext.QueryExceptionDatamartContext.Query where(CustomerGroup customerGroup) throws Exception
customerGroup - The CustomerGroup for which the filter representation is to be added to the query's WHERE clause.DatamartContext.QueryExceptionDatamartContext.Query where(String... whereClauses)
whereClauses - SQL compatible conditions.DatamartContext.QueryDatamartContext.Query where(Filter... filters)
Filters to the query's WHERE clause.filters - One or more Filters to be added to the query's WHERE clause.DatamartContext.QueryDatamartContext.Query having(String... havingClauses)
havingClauses - SQL compatible conditions.DatamartContext.QueryDatamartContext.Query having(Filter... filters)
Filters to the query's HAVING clause.
Example:
def threshold = api.getElement("ShowCountThreshold") ?: 0
def dmCtx = api.getDatamartContext()
def dmQuery = dmCtx.newQuery(dmCtx.getDatamart("SalesDM"))
dmQuery.select("customerId")
dmQuery.select("COUNT(Material)", "count")
dmQuery.having(Filter.greaterThan("count", threshold))
return dmCtx.executeQuery(dmQuery)?.getData()?.collect()
Note: When aliases are defined in the dmQuery.select() calls, you need to use
these aliases in the dmQuery.having() calls.filters - One or more Filters to be added to the query's HAVING clause.DatamartContext.QueryDatamartContext.Query orderBy(String... orderClauses)
def dmCtx = api.getDatamartContext()
def dmQuery = dmCtx.newQuery(dmCtx.getDatamart("SalesDM"))
dmQuery.select("customerId")
dmQuery.select("COUNT(Material)", "count")
dmQuery.orderBy("count DESC")
return dmCtx.executeQuery(dmQuery)?.getData()?.collect()
Note: When aliases are defined in the dmQuery.select() calls, you need to use
these aliases in the dmQuery.orderBy() calls.orderClauses - SQL compatible conditions. Sorting direction can be specified with a ' ASC' (default) or ' DESC' postfix.DatamartContext.QueryDatamartContext.Query setMaxRows(Integer maxRows)
maxRows - The maximum number of rows to return. If not set, or set to 0, then the externalRowsLimit limit applies.DatamartContext.QueryCopyright © 2019. All rights reserved.