Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

För att minska ner dataset till bara relevanta poster så sätts filter baserat på kolumnen period

...

Rapporten

Tabellelementet binds till dataset two_periods. Em grupp skapas efter önskat attribut, t-ex- operation_common. Summering på t.ex period_1_cost per grupp operation_common. Samma för period 2.

Detaljrden behövs inte eller kan göras osynlig.

...

För diagram så grupperas informationen automatiskt

...

Kolumner som beräknas för dataset one_period

För rapporten utveckling över tid så behövs inte period 2 kolumner men ytterligare en kolumn, group, för att gruppera tidsperiod

Code Block
languagejs
//group
function getQuarter(date) { 
  var month = date.getMonth() + 1; 
  return Math.ceil(month / 3); 
} 
function getWeek(d) {
    // Copy date so don't modify original
    d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
    // Set to nearest Thursday: current date + 4 - current day number
    // Make Sunday's day number 7
    d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay()||7));
    // Get first day of year
    var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1));
    // Calculate full weeks to nearest Thursday
    var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7);
    // Return array of year and week number
    return [weekNo];
}
function pad(num, size) {
    var s = "000000000" + num;
    return s.substr(s.length-size);
}
var dt = row["damage_date"];
//var y = dt.getFullYear();
//var m = dt.getMonth();
//var d = dt.getDate();
//new Date(y,m,d);
//BirtDateTime.date(d.getFullYear(),d.getMonth(),d.getDay());
//Formatter.format(params["from_period_1"].value, 'yyyy-MM-dd')
if (params["groupPeriod"].value == "year") {
dt.getFullYear().toString();
} else if (params["groupPeriod"].value == "month"){
dt.getFullYear() + "-" + pad(dt.getMonth()+1,2);
} else if (params["groupPeriod"].value == "quarter"){
dt.getFullYear() + "-" + pad(getQuarter(dt),2);
} else if (params["groupPeriod"].value == "week"){
dt.getFullYear() + "-" + pad(getWeek(dt),2);
} else if (params["groupPeriod"].value == "date"){
dt.getFullYear() + "-" + pad(dt.getMonth()+1,2) + "-" + pad(dt.getDate(),2);
}else{
dt.getFullYear().toString();
}