...
Code Block | ||
---|---|---|
| ||
void LoadDataloadTransactionData() { def ctx = api.getDatamartContext() def dm = ctx.getDatamart("Transactions") def q1 = ctx.newQuery(dm, true) q1.select("skuSku") q1.select("SUM(NetSales)", "SumNetSales ") q1.select("SUM(Cost)", "SumCost") q1.where(Filter.equal("skuSku", api.product("sku"))) api.global.queryData = ctx.executeQuery(q1).getData() } |
...
Code Block | ||
---|---|---|
| ||
DataUtil.LoadDataloadTransactionData() // fills api.global.queryData from query for (row in api.global.queryData) { row.ProfitMargin = (row.SumNetSales - row.SumCost) / row.SumNetSales } |
...
Code Block | ||
---|---|---|
| ||
def resultMatrix = api.newMatrix("SKU", "ProfitMargin") api.global.queryData.each { row -> resultMatrix.addRow(row.skuSku, row.ProfitMargin) } return resultMatrix |
...
Code Block | ||
---|---|---|
| ||
List<Map> GetDatagetTransactionData() { def ctx = api.getDatamartContext() def dm = ctx.getDatamart("Transactions") def q1 = ctx.newQuery(dm, true) q1.select("skuSku") q1.select("SUM(NetSales)", "SumNetSales ") q1.select("SUM(Cost)", "SumCost") q1.where(Filter.equal("skuSku", api.product("sku"))) return ctx.executeQuery(q1).getData() } |
...
Code Block | ||
---|---|---|
| ||
List<Map> data = DataUtil.GetDatagetTransactionData() // fills local variable from query for (row in data) ){ row.ProfitMargin = (row.SumNetSales - row.SumCost) / row.SumNetSales } return data |
...
Code Block | ||
---|---|---|
| ||
def resultMatrix = api.newMatrix("SKU", "ProfitMargin") out.ProcessData.each { row -> resultMatrix.addRow(row.skuSku, row.ProfitMargin) } return resultMatrix |
...
Code Block | ||
---|---|---|
| ||
List<Map> GetDatagetTransactionData() { def ctx = api.getDatamartContext() def dm = ctx.getDatamart("Transactions") def q1 = ctx.newQuery(dm, true) q1.select("skuSku") q1.select("SUM(NetSales)", "SumNetSales ") q1.select("SUM(Cost)", "SumCost") q1.where(Filter.equal("skuSku", api.product("sku"))) return ctx.executeQuery(q1).getData() } api.global.queryData = GetDatagetData() |
ProcessData.groovy
Code Block | ||
---|---|---|
| ||
api.global.queryData.each { it ->
// do something
} |
...
Code Block | ||
---|---|---|
| ||
List<Map> GetDatagetTransactionData() { return libs.SharedLib.CacheUtils.getOrSet("MyDataCacheKey"){ def ctx = api.getDatamartContext() def dm = ctx.getDatamart("Transactions") def q1 = ctx.newQuery(dm, true) q1.select("skuSku") q1.select("SUM(NetSales)", "SumNetSales ") q1.select("SUM(Cost)", "SumCost") q1.where(Filter.equal("skuSku", api.product("sku"))) return ctx.executeQuery(q1).getData() } } |
...
Code Block | ||
---|---|---|
| ||
List<Map> data = DataUtil.GetDatagetTransactionData() data.each { it -> // do something } |
...
Code Block | ||
---|---|---|
| ||
List<Map> GetTransactionDatagetTransactionData() { def ctx = api.getDatamartContext() def dm = ctx.getDatamart("Transactions") def q1 = ctx.newQuery(dm, true) q1.select("skuSku") q1.select("SUM(NetSales)", "SumNetSales ") q1.select("SUM(Cost)", "SumCost") q1.where(Filter.equal("skuSku", api.product("sku"))) q1.where(Filter.equal("categoryCategory", api.getElement("Category"))) q1.where(Filter.greaterThan("netSalesNetSales", out.NetSalesMinimum)) q1.where(Filter.notIn("skuSku", api.global.exclusionSkus)) return ctx.executeQuery(q1).getData() } |
...
Code Block | ||
---|---|---|
| ||
List<Map> GetTransactionDatagetTransactionData(String sku, String category, Number netSalesMinimum, List<String> exclusionSkus) { def ctx = api.getDatamartContext() def dm = ctx.getDatamart("Transactions") def q1 = ctx.newQuery(dm, true) q1.select("skuSku") q1.select("SUM(NetSales)", "SumNetSales ") q1.select("SUM(Cost)", "SumCost") q1.where(Filter.equal("skuSku", sku)) q1.where(Filter.equal("categoryCategory", category)) q1.where(Filter.greaterThan("netSalesNetSales", netSalesMinimum)) q1.where(Filter.notIn("skuSku", exclusionSkus)) return ctx.executeQuery(q1).getData() } |
...