4 Replies Latest reply: Mar 5, 2015 4:12 PM by Sergey Polekhin RSS

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

    Oleg Granat

      Добрый день!

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

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

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

       

      Спасибо!

      Олег

        • Re: Число записей в "прямой" таблице
          Eugeny Ilyin

          Добрый день.

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

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

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

          • Re: Число записей в "прямой" таблице
            Oleg Granat

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

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

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

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

              • Re: Число записей в "прямой" таблице
                Eugeny Ilyin

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

                • Re: Число записей в "прямой" таблице
                  Sergey Polekhin

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