Skip to main content
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

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