OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
docroot
/
showcase
/
js
/
app
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/31/2022 06:53:36 AM
rwxr-xr-x
📁
.svn
-
08/14/2022 11:05:11 AM
rwxr-xr-x
📄
chartPrefs.js
14.32 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
compute.js
6.11 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
filterClass.js
4.91 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
filter_template.js
72.65 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
ws.app.js
18.87 KB
08/14/2022 11:05:11 AM
rw-r--r--
📄
ws.lib.js
24.63 KB
08/14/2022 11:05:11 AM
rw-r--r--
Editing: compute.js
Close
/* * Class for compute * */ function computedColumn(name, formula, format,sequence){ this.colName=name; this.formula=formula; this.format=format; this.sequence=sequence; } function computedColumnList(){ this.columnList=new Array(); this.addComputedColumn=addComputedColumn; this.updateComputedColumn=updateComputedColumn; this.deleteComputedColumn=deleteComputedColumn; } function addComputedColumn(name, formula, format, sequence){ var compColObj = new computedColumn(name, formula, format, sequence); this.columnList.push(compColObj); } function updateComputedColumn(name, formula, format, sequence){ for(var i=0; i<this.columnList.length; i++){ if(this.columnList[i].sequence == sequence){ this.columnList[i].colName = name; this.columnList[i].formula = formula; this.columnList[i].format = format; } } } function deleteComputedColumn(name, formula, format, sequence){ for(var i=0; i<this.columnList.length; i++){ if(this.columnList[i].colName == name && this.columnList[i].sequence == sequence) this.columnList.splice(i,1); } } /***** Apply Unit ****/ function applyUnit(ReportObj, columnNo, unit){ var fnid = ReportObj.getPropsValue("fnid"); var nmesr = ReportObj.getmeasures().length; var reportDataArray = ReportObj.data; if(columnNo!=0){ for(ix=1;ix<reportDataArray.length;ix++){ reportDataArray[ix][columnNo] = reportDataArray[ix][columnNo]/unit; } } else{ columnNo = nmesr+fnid+1; for(jx=1;jx<=columnNo;jx++){ reportDataArray[0][jx] = reportDataArray[0][jx]+"("+showUnitName(unit)+")"; for(ix=1;ix<reportDataArray.length;ix++){ reportDataArray[ix][jx] = reportDataArray[ix][jx]/unit; } } } } function showUnitName(unitNo){ /* * #define SUB_PERCENT 101 * #define UNIT_ROWTOT_PERCENT 102 * #define UNIT_ONLY_PERCENT 103 * #define UNIT_NO_PERCENT 104 * */ switch(unitNo){ case 1000: unitName="'000"; break; case 1000000: unitName="Millions"; break; case 100: unitName="%"; break; case 100000: unitName="Lakhs"; break; case 10000000: unitName="Crores"; break; default: unitName=""; // Actual } return unitName } /***** Compute Formula ****/ function getTechnicalFormula(ReportObj, formula){ var pformula = formula; var splitFormula = formula.split('C'); var nameArray= new Array(); nameArray=nameArray.concat(ReportObj.getdimensionIds(),ReportObj.getmeasureIds()); var computedColumns = ReportObj.compute.columnList; for(var i=0; i<computedColumns.length; i++) nameArray.push(computedColumns[i].formula); for(i=0;i<splitFormula.length;i++){ colNo = splitFormula[i].split(')')[0]; pformula = pformula.replace('C' + colNo, nameArray[colNo-1]); } return pformula; } function getReadableFormula(ReportObj, formula){ var pformula = formula; var splitFormula = formula.split('C'); var nameArray= new Array(); nameArray=nameArray.concat(ReportObj.getdimensions(),ReportObj.getmeasures()); var computedColumns = ReportObj.compute.columnList; for(var i=0; i<computedColumns.length; i++) nameArray.push(computedColumns[i].colName); for(i=0;i<splitFormula.length;i++){ colNo = splitFormula[i].split(')')[0]; pformula = pformula.replace('C' + colNo, nameArray[colNo-1]); } return pformula; } function applyFormula(ReportObj, formula, colIndex){ var reportDataArray = ReportObj.data; var pformula = formula; var splitFormula = formula.split('C'); for(i=0;i<splitFormula.length;i++){ colNo = splitFormula[i].split(')')[0]; pformula = pformula.replace('C' + colNo, "parseFloat(reportDataArray[ix]["+ (colNo-1) +"])"); //pformula = pformula.replace('C' + colNo, "parseFloat(reportDataArray[ix]["+ (colNo-1) +"].replace(/[,]/g, ''))"); } for(ix=1;ix<reportDataArray.length;ix++){ reportDataArray[ix][colIndex] = eval(pformula); } } function showComputeOperationName(operation){ var result; switch(operation) { case 105: result = "Sum (+)"; break; case 100: result = "Ratio (/)"; break; case 115: result = "Ratio (%)"; break; case 101: result = "Groth"; break; case 102: result = "Diff"; break; /* case "change": result = mesr1/mesr2; break; case "cumulative": result = result+mesr1; break;*/ case 106: result = "Minus (-)"; break; /* case "107": result = mesr1/mesr2; break; case "108": result = mesr1/mesr2; break; case "avg": result = mesr1/mesr2; break; case "rank": result = mesr1/mesr2; break; case "correlation": result = mesr1/mesr2; break; case 113: result = mesr1/mesr2; break; */ default: result = mesr1/mesr2; } return result; } function applyCompute(mesr1, mesr2, operation){ /* * #define COMPUTERATIO 100 * #define COMPUTEGROWTH 101 * #define COMPUTEDIFF 102 * #define COMPUTECHG 103 * #define COMPUTECUM 104 * #define COMPUTESUM 105 * #define COMPUTEMINUS 106 * #define COMPUTEMIN 107 * #define COMPUTEMAX 108 * #define COMPUTEMEAN 109 * #define COMPUTERANK 110 * #define COMPUTECORR 111 * #define COMPUTEFORECAST 112 * #define RUNNINGAVG 113 * #define COMPUTEAVGCOLWISE 114 * #define COMPUTERATIOPER 115 //RATIO_PER */ var result; switch(operation) { case 105: result = mesr1 + mesr2; break; case 100: result = mesr1/mesr2; break; case 115: result = (mesr1/mesr2)*100; break; case 101: result = ((mesr1-mesr2)/mesr2)*100; break; case 102: result = ((mesr1/mesr2)-1)*100; break; /* case "change": result = mesr1/mesr2; break; case "cumulative": result = result+mesr1; break;*/ case 106: result = mesr1-mesr2; break; /* case "107": result = mesr1/mesr2; break; case "108": result = mesr1/mesr2; break; case "avg": result = mesr1/mesr2; break; case "rank": result = mesr1/mesr2; break; case "correlation": result = mesr1/mesr2; break; case 113: result = mesr1/mesr2; break; */ default: result = mesr1/mesr2; } return result; }