Тип: Число. Содержит количество объектов в источнике данных.
Полное описание, параметры и ограничения
РезультатАнализаДанныхОбщаяСтатистика.КоличествоОбъектов (DataAnalysisSummaryStatisticsResult.ObjectCount)
РезультатАнализаДанныхОбщаяСтатистика (DataAnalysisSummaryStatisticsResult)
КоличествоОбъектов (ObjectCount)
Доступен, начиная с версии 8.0.
Использование:
Только чтение.
Описание:
Тип: Число.
Содержит количество объектов в источнике данных.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Проверить среднее, медиану и размах сумм
Четыре суммы известны заранее: результат платформы сравнивается с простым ручным расчётом, а формула стандартного отклонения не угадывается.
Где и как запускать
Полный модуль управляемой формы собственной внешней обработки, только толстый клиент Windows.
Подготовка
Собственная учебная база 8.5.1.1343, толстый клиент Windows. Создайте внешнюю обработку с управляемой формой, командой Выполнить и её кнопкой. Вставьте весь модуль выбранного урока.
Методы построителя отчёта доступны только толстому клиенту, хотя сам тип упомянут и в других контекстах. Не переносите этот полный модуль в тонкий/веб-клиент или серверный обработчик.
Для отдельного урока АнализДанных без построителя используется собственный серверный общий модуль УчебнаяСтатистика с флагом Сервер и вызов УчебнаяСтатистика.ВыполнитьПример() из серверной команды.
Все значения вымышлены и создаются в памяти. Нет чтения документов/платежей, сетевых моделей, персональных данных, записи базы, сохранения файлов или печати.
Это учебный расчёт на маленьком наборе. Он не даёт основания прогнозировать реальные продажи или принимать бизнес-решения без проверки качества исходных данных.
&НаКлиенте
Процедура Выполнить(Команда)
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Таблица.Колонки.Добавить("Регион", Новый ОписаниеТипов("Строка"));
Таблица.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
Для Номер = 1 По 4 Цикл
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.Код = "guide-order-" + Строка(Номер);
СтрокаТаблицы.Регион = ?(Номер = 4, "Юг", "Север");
СтрокаТаблицы.Сумма = Номер * 100;
КонецЦикла;
Построитель = Новый ПостроительОтчетаАнализаДанных;
Построитель.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");
Построитель.ИсточникДанных = Таблица;
Построитель.ОтображатьСостояние = Ложь;
Построитель.ОбрабатыватьПрерываниеПользователя = Истина;
Анализатор = Построитель.ПолучитьАнализ();
Если ТипЗнч(Анализатор) <> Тип("АнализДанных") Тогда
ВызватьИсключение "Ожидался документированный анализатор построителя";
КонецЕсли;
Настройки = Построитель.НастройкаКолонок;
Код = Настройки.Найти("Код");
Регион = Настройки.Найти("Регион");
Сумма = Настройки.Найти("Сумма");
Если Код = Неопределено ИЛИ Регион = Неопределено ИЛИ Сумма = Неопределено Тогда
ВызватьИсключение "Анализатор не создал ожидаемые три настройки собственных колонок";
КонецЕсли;
Код.ТипКолонки = ТипКолонкиАнализаДанныхОбщаяСтатистика.Неиспользуемая;
Регион.ТипКолонки = ТипКолонкиАнализаДанныхОбщаяСтатистика.Входная;
Регион.ВидДанных = ВидДанныхАнализа.Дискретные;
Сумма.ТипКолонки = ТипКолонкиАнализаДанныхОбщаяСтатистика.Входная;
Сумма.ВидДанных = ВидДанныхАнализа.Непрерывные;
Построитель.Выполнить();
Результат = Построитель.Результат;
Если ТипЗнч(Результат) <> Тип("РезультатАнализаДанныхОбщаяСтатистика") Тогда
ВызватьИсключение "Ожидался результат общей статистики";
КонецЕсли;
ПолеСуммы = Неопределено;
Для Каждого Поле Из Результат.НепрерывныеПоля Цикл
Если Поле.Имя = "Сумма" Тогда
ПолеСуммы = Поле;
КонецЕсли;
КонецЦикла;
Если ПолеСуммы = Неопределено Тогда
ВызватьИсключение "Сумма не попала в непрерывные поля: проверьте собственные настройки колонки";
КонецЕсли;
Сообщить(ПолеСуммы.Имя = "Сумма");
Сообщить(ПолеСуммы.Количество = 4);
Сообщить(ПолеСуммы.Минимум = 100);
Сообщить(ПолеСуммы.Максимум = 400);
Сообщить(ПолеСуммы.Среднее = 250);
Сообщить(ПолеСуммы.Медиана = 250);
Сообщить(ПолеСуммы.Размах = 300);
Сообщить("Стандартное отклонение платформы: " + Строка(ПолеСуммы.СтандартноеОтклонение));
Сообщить(Результат.КоличествоОбъектов = 4);
Сообщить(ТипЗнч(Результат.НастройкаКолонок) = Тип("КолонкиАнализаДанных"));
Сообщить(ТипЗнч(Результат.Параметры) = Тип("ПараметрыАнализаДанных"));
КонецПроцедурыРазбор по шагам
НепрерывныеПоля — фиксированный массив результатов по включённым непрерывным колонкам. Ищем именно имя Сумма, не считаем первый элемент всегда нужным.
100+200+300+400=1000; среднее равно 1000/4=250. Для четырёх отсортированных значений медиана равна (200+300)/2=250.
Минимум 100, максимум 400, размах 400-100=300. Эти показатели не являются прибылью и не используют валютный курс.
СтандартноеОтклонение читается как фактическое число. Краткая справка не фиксирует знаменатель выборочной/генеральной дисперсии, поэтому не обещаем вычисленную другим соглашением константу.
Свойства результата НастройкаКолонок и Параметры сохраняют описание расчёта. Это не новая запись настроек пользователя.
Как проверить результат
Десять контрольных сравнений ожидаются Истина; стандартное отклонение выводится отдельно как диагностическое число.
Замените одну сумму самостоятельно и пересчитайте среднее вручную перед повторным запуском; прежние константы проверок затем изменяются осознанно.
Ожидаемый результат
На четырёх известных числах объяснены количество, среднее, медиана, минимум, максимум и размах.
На что обратить внимание
Среднее и медиана могут совпасть на этом наборе, но это не одно и то же правило.
Нулевая/пустая сумма в реальном источнике требует отдельного определения пропусков; урок не подменяет пропуск нулём.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Рассчитать ту же статистику на сервере без клиентского построителя
В отличие от построителя, АнализДанных.Выполнить возвращает результат напрямую; используется собственная таблица из четырёх строк.
Где и как запускать
Полный серверный общий модуль собственной учебной базы.
Подготовка
Собственная учебная база 8.5.1.1343, толстый клиент Windows. Создайте внешнюю обработку с управляемой формой, командой Выполнить и её кнопкой. Вставьте весь модуль выбранного урока.
Методы построителя отчёта доступны только толстому клиенту, хотя сам тип упомянут и в других контекстах. Не переносите этот полный модуль в тонкий/веб-клиент или серверный обработчик.
Для отдельного урока АнализДанных без построителя используется собственный серверный общий модуль УчебнаяСтатистика с флагом Сервер и вызов УчебнаяСтатистика.ВыполнитьПример() из серверной команды.
Все значения вымышлены и создаются в памяти. Нет чтения документов/платежей, сетевых моделей, персональных данных, записи базы, сохранения файлов или печати.
Это учебный расчёт на маленьком наборе. Он не даёт основания прогнозировать реальные продажи или принимать бизнес-решения без проверки качества исходных данных.
Процедура ВыполнитьПример() Экспорт
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Таблица.Колонки.Добавить("Регион", Новый ОписаниеТипов("Строка"));
Таблица.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));
Для Номер = 1 По 4 Цикл
СтрокаТаблицы = Таблица.Добавить();
СтрокаТаблицы.Код = "guide-order-" + Строка(Номер);
СтрокаТаблицы.Регион = ?(Номер = 4, "Юг", "Север");
СтрокаТаблицы.Сумма = Номер * 100;
КонецЦикла;
Анализатор = Новый АнализДанных;
Анализатор.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");
Анализатор.ИсточникДанных = Таблица;
Настройки = Анализатор.НастройкаКолонок;
Код = Настройки.Найти("Код");
Регион = Настройки.Найти("Регион");
Сумма = Настройки.Найти("Сумма");
Если Код = Неопределено ИЛИ Регион = Неопределено ИЛИ Сумма = Неопределено Тогда
ВызватьИсключение "Анализатор не создал ожидаемые три настройки собственных колонок";
КонецЕсли;
Код.ТипКолонки = ТипКолонкиАнализаДанныхОбщаяСтатистика.Неиспользуемая;
Регион.ТипКолонки = ТипКолонкиАнализаДанныхОбщаяСтатистика.Входная;
Регион.ВидДанных = ВидДанныхАнализа.Дискретные;
Сумма.ТипКолонки = ТипКолонкиАнализаДанныхОбщаяСтатистика.Входная;
Сумма.ВидДанных = ВидДанныхАнализа.Непрерывные;
Результат = Анализатор.Выполнить();
Сообщить(ТипЗнч(Результат) = Тип("РезультатАнализаДанныхОбщаяСтатистика"));
Сообщить(Результат.КоличествоОбъектов = 4);
Сообщить(Результат.НепрерывныеПоля.Количество() = 1);
Сообщить(Результат.ДискретныеПоля.Количество() = 1);
Сообщить(Анализатор.НастройкаКолонок.Количество() = 3);
Сообщить("Параметров общей статистики: " + Строка(Анализатор.Параметры.Количество()));
КонецПроцедурыРазбор по шагам
Создаём АнализДанных, задаём тип анализа и собственную таблицу. Никакого клиентского табличного документа нет.
Настройки включают две колонки: Регион дискретный, Сумма непрерывная; Код исключён. Коллекция настроек при этом содержит все три исходные колонки.
Выполнить возвращает реальный результат. Не обращаемся к несуществующему Анализатор.Результат, как у построителя.
Проверяем тип результата, число объектов, размеры обоих массивов описаний и коллекции настроек.
Это серверный расчёт, а не обещание передачи ТаблицаЗначений в тонкий клиент. Наружу здесь выводятся только короткие сообщения.
Как проверить результат
Пять сравнений ожидаются Истина; количество параметров общей статистики диагностическое.
Не открывается окно отчёта, не выполняется вывод/печать на сервере.
Ожидаемый результат
Получен полный серверный вариант той же задачи с корректным возвращаемым значением анализатора.
На что обратить внимание
Клиентский построитель и серверный анализатор имеют разные контексты и контракты результата.
Не выполнять этот расчёт на реальных многомиллионных таблицах без оценки нагрузки и прерывания.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.