Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
neftekos
Contributor II
Contributor II

Максимальные значения по нескольким измерениям в сводной таблице

Здравствуйте. Помогите пожалуйста разобраться с достаточно тривиальной задачей.

Например, на рисунке ниже:

image.png

Измерение "дата" расположено  по горизонтали .

Как добиться того, чтобы в таблице остались только максимальные значения?

image.png

так же прикладывает тестовый файл.

1 Solution

Accepted Solutions
Sergey_Shuklin
Specialist
Specialist

Добрый день!

При расчете максимума нужно зафиксировать поля-строки - "фигура" и "буква", тогда по всем ячейкам поля "дата" будут расставлены максимальные значения.

Затем, нужно добавить проверку совпадения  "числа" с максимумом.

letter_pic1.png

View solution in original post

6 Replies
Sergey_Shuklin
Specialist
Specialist

Добрый день!

При расчете максимума нужно зафиксировать поля-строки - "фигура" и "буква", тогда по всем ячейкам поля "дата" будут расставлены максимальные значения.

Затем, нужно добавить проверку совпадения  "числа" с максимумом.

letter_pic1.png

neftekos
Contributor II
Contributor II
Author

Я новичёк ещё пока в QV. Но это гениально! Правда не совсем понял как это работает. Буду разбирать вашу формулу. Спасибо вам огромное!

Sergey_Shuklin
Specialist
Specialist

Пожалуйста, всегда рад помочь.

TOTAL, как правило, используется для подсчета итоговой суммы по измерениям, чтобы найти, например, долю от общей суммы. Или чтобы посчитать средневзвешанное значение.

В случае с функцией max() будет найдено максимальное значение в указанных измерениях (задаются в угловых скобках).

На картинке я попытался отобразить результат разных тоталов, может быть, она будет полезной:

letter_pic2.png

Т.е. тотал по фигуре - это одно максимальное значение для каждой фигуры (проставляется во всех ячейках других измерений).

Добавляя в тотал измерение "буква" мы "сужаем диапазон" по которому ищется максимум.

В результате максимум уже будет проставляться не по всем ячейкам других измерений, а по строкам - то, что нам и было нужно в поставленной задаче.

neftekos
Contributor II
Contributor II
Author

Теперь всё ясно. А можно ещё вопрос? Можно ли не отображать одинаковые значения как максимальные? Например как на рисунке:

image.png

ведь, по сути, у них нет максимума.

neftekos
Contributor II
Contributor II
Author

Сам нашёл вот такое решение:

if(
not isNull(max(total <фигура, буква> число,2)),
if(число = max(total <фигура, буква> число),число),null())

Sergey_Shuklin
Specialist
Specialist

Очень лаконичное решение!