Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Число записей в "прямой" таблице

Добрый день!

Вот такой вопрос (вроде и простой, но в форумах нужного решения не нашел):

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

Подсказки вроде "Используйте RowNo() / RowNo(Total) / Count(dim1&dim2&...dim_n)  )" - не дают требуемого результата.

Спасибо!

Олег

1 Solution

Accepted Solutions
Eugeny_Ilyin
Creator II
Creator II

Добрый день.

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

=count(aggr(DISTINCT 1,Поле1,Поле2,Поле3))

Поля 1-3, входящие в состав таблицы.

View solution in original post

4 Replies
Eugeny_Ilyin
Creator II
Creator II

Добрый день.

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

=count(aggr(DISTINCT 1,Поле1,Поле2,Поле3))

Поля 1-3, входящие в состав таблицы.

Not applicable
Author

Евгений, спасибо!

Проверил на тестовом примере. Похоже,. что конструкция Count(Aggr(... работает, как нужно.  Два маленьких вопроса:

1. Зачем единичка после слова DISTINCT?

2. Не будет ли слишком долго пересчитываться count(aggr( при большом количестве записей в таблице?

Eugeny_Ilyin
Creator II
Creator II

1. 1 нужна, чтобы считал aggr.
2. Не знаю. Надо проверять.

Sergey_Polekhin
Employee
Employee

В любом случае, если скорость расчета агрегации не будет вас устраивать, то можно в процессе загрузки данных создать составное поле, являющееся комбинацией всех уникальных значений Поля 1, Поля 2 и Поля 3, (т.е. комбинацией всех возможных уникальных значений полей данных,использующихся в качестве измерений). После чего в виде формулы считать не агрегацию по трем полям, а считать количество значений этого рассчитанного заранее составного поля.