function OnInit(initData) { initData.name = 'Age'; initData.version = '2021-12-09'; initData.copyright = ''; initData.url = 'https://resource.dopus.com/t/groupby-modifieddate-break-a-long-time-ago-in-smaller-junks/40038'; initData.desc = ''; initData.default_enable = true; initData.min_version = '12.0'; } function OnAddColumns(addColData) { var col = addColData.AddColumn(); col.name = 'Age'; col.label = 'Age'; col.header = 'Age'; col.justify = 'right'; col.autogroup = false; col.grouporder = 'one month;half a year;one year;3 years;5 years;7 years;10 years;15 years;20 years;over 20 years'; col.method = 'OnColumn'; } function OnColumn(scriptColData) { var age = (DOpus.Create().Date() - scriptColData.item.modify) / (1000 * 60 * 60 * 24); // age in days var proseAge; if (age < 30) { proseAge = 'one month'; } else if (age < 180) { proseAge = 'half a year'; } else if (age < 365) { proseAge = 'one year'; } else if (age < 3 * 365) { proseAge = '3 years'; } else if (age < 5 * 365) { proseAge = '5 years'; } else if (age < 7 * 365) { proseAge = '7 years'; } else if (age < 10 * 365) { proseAge = '10 years'; } else if (age < 15 * 365) { proseAge = '15 years'; } else if (age < 20 * 365) { proseAge = '20 years'; } else { proseAge = 'over 20 years' } scriptColData.value = proseAge; scriptColData.sort = age; scriptColData.group = proseAge; }