...
Code Block | ||
---|---|---|
| ||
def rawMatrix = api.datamartLookup("ProdTX","ProductLabel","ProductID","InvoicePrice\$","NetMargin%-") def resultMatrix = api.newMatrix("Margin Status","Product ID","Label","Revenue","Net Margin %") if(rawMatrix == null) return 0 def i=0 for(entry in rawMatrix.getEntries()) { def row =[:] row.put("Product ID",entry.get("ProductID")) row.put("Label",entry.get("ProductLabel")) row.put("Revenue",entry.get("InvoicePrice\$")) def margin = entry.get("NetMargin%")/100 row.put("Net Margin %",resultMatrix.styledCell(margin,"#0000CD",null,"bold")) if(margin <= 0) row.put("Margin Status",resultMatrix.libraryImage("Traffic","3_red")) if(margin <0.1 && margin > 0) row.put("Margin Status",resultMatrix.libraryImage("Traffic","2_yellow")) if(margin >=0.1 ) row.put("Margin Status",resultMatrix.libraryImage("Traffic","1_green")) resultMatrix.addRow(row) i++ if(i>100) break; } resultMatrix.setColumnFormat("Net Margin %",FieldFormatType.PERCENT) resultMatrix.setColumnFormat("Revenue",FieldFormatType.MONEY_EUR) resultMatrix.onRowSelection().triggerEvent(api.dashboardWideEvent("ProductIDChanged-ED")) .withColValueAsEventDataAttr("ProductID", "ProductID") return resultMatrix |
...