2017-02-14 9 views
1

Я пытаюсь представить максимальную сумму стоимости (длительность) из 6 различных машин с различной суммой (длительность): машина 1: 200 машина 2: 300 машина 3: 400 машина 4 : 500 машина 5: 600 машина 6: 700QlikView Макс Aggr Значение

Когда я использую: Макс (всего Aggr (Сумма (продолжительность), MachineID)) это результат:

машина 1: 700 машина 2 : 700 Станок 3: 700 Станок 4: 700 машина 5: 700 машина 6: 700

Если я использую Max (Aggr (Сумма (Duration), MachineID)) же, как и раньше, но без "общего", я получаю это:

машина 1: 200 машина 2: 300 машина 3: 400 машина 4: 500 машина 5: 600 машина 6: 700

Мой желаемый результат представляет собой график, показывающий только одно максимальное значение: Machín e 6: 700

Вы не можете помочь? Благодаря!

+0

Пожалуйста, добавьте несколько данных, чтобы лучше понять запрос –

+0

Извините! У меня возникли проблемы с форматированием текста. Надеюсь, это поможет, спасибо! –

ответ

2

В 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 для получения аналогичного вопроса с использованием ползунков для установки пороговых значений вместо макс.

+0

Это сработало! Удивительно! благодаря –

Смежные вопросы