Проблема:
У меня есть существующий шаблон BIRT (.rptdesign) и образец данных XML.
Я удалил первые два столбца из отчета.
Цель состоит в том, чтобы отображать только строки, в которых встречается определенное значение 7 или несколько раз подряд.


[img]https://i. sstatic.net/zOJJ7rt5.png[/img]

Попытки:
Я создал выражение BIRT, но оно не дает желаемых результатов.
Имя вычисляемого столбца — maxConsecutiveDays, тип данных — Integer
var consecutiveDays = 0;
var maxConsecutiveDays = 0;
var lastDate = null;
for (var i = 0; i < dataSetRow["CalendarDate"].length; i++) {
var currentDate = new Date(dataSetRow["CalendarDate"]);
if (lastDate) {
var diffDays = (currentDate - lastDate) / (1000 * 60 * 60 * 24);
if (diffDays === 1) {
consecutiveDays++;
} else {
if (consecutiveDays > maxConsecutiveDays) {
maxConsecutiveDays = consecutiveDays;
}
consecutiveDays = 1;
}
} else {
consecutiveDays = 1;
}
lastDate = currentDate;
}
if (consecutiveDays > maxConsecutiveDays) {
maxConsecutiveDays = consecutiveDays;
}
maxConsecutiveDays;
Подробнее здесь: https://stackoverflow.com/questions/787 ... -instances