Это была бы хорошая ситуация, чтобы смешать вычисления LOD и вычисления таблицы. Ваша первоначальная функция LOD выглядит хорошо, так как она найдет полную максимальную дату для каждого города. Оттуда вы можете применить концепцию вычисляемого поля, которое вы уже начали, и добавить вычисление таблицы (Last ()):
IF ATTR([Max Date (Last Street)]) = ATTR([Date])
AND LAST() == 0
THEN [Count Record]
Else 0
END
Обратите внимание, что другие части вычисляемого поля обернуты в ATTR (), чтобы превратить их в агрегации.
Как только вы добавите в данные дополнительные города, вам нужно будет отредактировать вычисление таблицы на Right clicking on table calculation on view > Edit Table Calculation...
![enter image description here](https://i.stack.imgur.com/8rpCJ.png)
Обратите внимание на то, что выбрано Определенные размеры и Перезапуск каждые заменен на «Город»
Конечный продукт должен выглядеть так:
![enter image description here](https://i.stack.imgur.com/8NbrD.png)
Альтернативный метод:
Если вы хотите использовать только LOD, а названия улиц всегда содержат уникальных возрастающих номеров :
If Date = {Fixed [City]: MAX(Date)}
AND REGEXP_EXTRACT([Street],'(\d+)') = {FIXED [City], [Date]:
MAX(REGEXP_EXTRACT([Street],'(\d+)'))}
Then 1
Else 0
END
Вышеприведенное будет по существу извлекать номер с улицы, а затем добавит его как условие в дополнение к уже существующему MAX (дате). Тогда вы получите только 1, когда оба условия были выполнены.
Конечный результат будет таким же, как указано выше.