diff --git a/gs/filscore.gs b/gs/filscore.gs index 0be52323f..2b9357b61 100644 --- a/gs/filscore.gs +++ b/gs/filscore.gs @@ -10,6 +10,7 @@ function refreshFilScores() { var colIndexFilScoreViewUrl = getColumnIndex(sFilScore, "viewUrl"); copyRange(sData, colIndexDataViewUrl + "2:" + colIndexDataViewUrl, sFilScore, colIndexFilScoreViewUrl + "2:" + colIndexFilScoreViewUrl); getSumUniqueDailyVisitorsLast30(); + calculateSumUniqueDailyVisitorsLast30Score(); calculateFilScore(); var colIndexFilScoreFilScore = getColumnIndex(sFilScore, "filScore"); var colIndexFilScorePublic = getColumnIndex(sPublic, "filScore"); @@ -35,14 +36,33 @@ function getSumUniqueDailyVisitorsLast30() { colRangeFilScoreSudv.setValues(colDataFilScoreSudv); } +function calculateSumUniqueDailyVisitorsLast30Score() { + var colIndexFilScoreSudvScore = getColumnIndex(sFilScore, "sumUniqueDailyVisitorsLast30Score"); + var colRangeFilScoreSudvScore = sFilScore.getRange(colIndexFilScoreSudvScore + "2:" + colIndexFilScoreSudvScore); + colRangeFilScoreSudvScore.clearContent(); + var colTopFilScoreSudvScore = sFilScore.getRange(colIndexFilScoreSudvScore + "2"); + var colIndexFilScoreSudv = getColumnIndex(sFilScore, "sumUniqueDailyVisitorsLast30"); + colTopFilScoreSudvScore.setValue("=ARRAYFORMULA(IF(ISBLANK($" + colIndexFilScoreSudv + "2:" + colIndexFilScoreSudv + "),\"\",PERCENTRANK($" + colIndexFilScoreSudv + "$2:$" + colIndexFilScoreSudv + ",$" + colIndexFilScoreSudv + "2:$" + colIndexFilScoreSudv + ")))"); + var colDataFilScoreSudvScore = colRangeFilScoreSudvScore.getDisplayValues(); + colRangeFilScoreSudvScore.clearContent(); + colRangeFilScoreSudvScore.setValues(colDataFilScoreSudvScore); +} + function calculateFilScore() { + var filScoreFormula = "=ARRAYFORMULA("; + for (var i = 0, filScoreWeightLength = filScoreWeight.length; i < filScoreWeightLength; i++) { + var colIndex = getColumnIndex(sFilScore, filScoreWeight[i][0] + "Score"); + if (i > 0) { + filScoreFormula += "*"; + } + filScoreFormula += "(IF(ISBLANK($" + colIndex + "2:$" + colIndex + "),\"\"," + filScoreWeight[i][1] + "*$" + colIndex + "2:$" + colIndex + "))"; + } + filScoreFormula += ")"; var colIndexFilScoreFilScore = getColumnIndex(sFilScore, "filScore"); var colRangeFilScoreFilScore = sFilScore.getRange(colIndexFilScoreFilScore + "2:" + colIndexFilScoreFilScore); colRangeFilScoreFilScore.clearContent(); var colTopFilScoreFilScore = sFilScore.getRange(colIndexFilScoreFilScore + "2"); - var colIndexFilScoreSudv = getColumnIndex(sFilScore, "sumUniqueDailyVisitorsLast30"); - //colTopFilScoreFilScore.setValue("=ARRAYFORMULA(IF(ISBLANK($" + colIndexFilScoreSudv + "2:" + colIndexFilScoreSudv + "),\"\",ROUND((100-0)/(MAX($" + colIndexFilScoreSudv + "$2:$" + colIndexFilScoreSudv + ")-MIN($" + colIndexFilScoreSudv + "$2:$" + colIndexFilScoreSudv + "))*($" + colIndexFilScoreSudv + "2:" + colIndexFilScoreSudv + "-MAX($" + colIndexFilScoreSudv + "$2:$" + colIndexFilScoreSudv + "))+100)))"); - colTopFilScoreFilScore.setValue("=ARRAYFORMULA(IF(ISBLANK($" + colIndexFilScoreSudv + "2:" + colIndexFilScoreSudv + "),\"\",PERCENTRANK($" + colIndexFilScoreSudv + "$2:$" + colIndexFilScoreSudv + ",$" + colIndexFilScoreSudv + "2:$" + colIndexFilScoreSudv + ")))"); + colTopFilScoreFilScore.setValue(filScoreFormula); var colDataFilScoreFilScore = colRangeFilScoreFilScore.getDisplayValues(); colRangeFilScoreFilScore.clearContent(); colRangeFilScoreFilScore.setValues(colDataFilScoreFilScore);