В Qlik я считаю, что единственный способ добиться этого - использовать рассчитанные измерения. Идея состоит в том, чтобы настроить измерение, которое отображает только значения, когда выполняется условие. В вашем случае это условие, когда продолжительность машины является максимальной для всех машин.
Рассчитано Dimension (с отступом предоставить комментарии):
=if(
//check each machine's sum(duration) against the maximum sum(duration) for all machines
aggr(sum(Duration),MachineID) >= max(total aggr(sum(Duration),MachineID)),
//if >= max, use MachineID as the dimension
MachineID,
//if < max display nothing
null()
)
незакомментированной (копировать/вставить) версия:
=if(aggr(sum(Duration),MachineID) >= max(total aggr(sum(Duration),MachineID)), MachineID, null())
Один ключ к этому, чтобы убедиться, что вы проверить Флажок «Подавить, когда значение равно Null» в вашем измерении. Это необходимо, поэтому мы можем заставить этот рассчитанный размер действовать как фильтр.
Еще один совет - перейти на вкладку «Презентация» таблицы/диаграммы и выбрать вычисленное измерение, которое вы создали, и установить переключатель «Скрыть колонку». Поскольку мы используем рассчитанный размер только как фильтр, а не как практическое имя столбца, мы можем скрыть его.
Когда вы закончите, ваши размеры будут следующими: MachineID
и рассчитанное измерение, описанное выше. Ваше выражение/меру будет просто sum(duration)
.
Я обнаружил, что Qlik обычно слаб в области фильтрации по выражению output/value. Вышеупомянутый процесс действительно работает, но для чего-то, что очень распространено во многих областях, это становится подавляющим, когда у вас есть несколько расчетных измерений, подобных этому в одной диаграмме.
См. here для получения аналогичного вопроса с использованием ползунков для установки пороговых значений вместо макс.
Пожалуйста, добавьте несколько данных, чтобы лучше понять запрос –
Извините! У меня возникли проблемы с форматированием текста. Надеюсь, это поможет, спасибо! –