AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.09.2009, 08:57   #1  
JIEXA_imported is offline
JIEXA_imported
Участник
 
9 / 10 (1) +
Регистрация: 26.08.2009
Доброго времени суток! Существует ли какая нбудь ф-я для подсчета среднего значения в таблице? На форме существует компонент Table, для одного столбца нужно посчитать среднее значение, с группировкой по другому столбцу.
Типа
select name, avg(i) from table group by name
Старый 07.09.2009, 09:25   #2  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Цитата:
Сообщение от JIEXA Посмотреть сообщение
Доброго времени суток! Существует ли какая нбудь ф-я для подсчета среднего значения в таблице? На форме существует компонент Table, для одного столбца нужно посчитать среднее значение, с группировкой по другому столбцу.
Типа
select name, avg(i) from table group by name
Боюсь скажу не по теме, но решение данной задачи я бы начал так:
1. Выгрузил данные в Excel
2. Обучил пользователя работе с Excel

Правда работает не всегда.

PS. Если по теме.
Если числовое поле входит в соотвествующий ключ, то использовать фильтры, Calcsums и Count.

PSS. Если вы хотите вывести на форму данные в "сжатом" виде. То скорее всего вам придется использовать временную таблицу.
Для группировки рекомендуется использовать объект Report, в нем даже есть соотвествующие свойства GroupTotalFields и TotalFields.
GroupTotalFields
Старый 07.09.2009, 09:50   #3  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Можно в таблице создать ключ по полю-измерению. В этом ключе указать поле-факт как SumIndexField.
В этой же таблице создать Flow поле с типом Average, которое рассчитывается по полю-факту с фильтром по полю-измерению.
Вот так:
Код:
OBJECT Table 57406 AvgExample
{
  OBJECT-PROPERTIES
  {
	Date=07.09.09;
	Time=[ 9:43:33];
	Modified=Yes;
	Version List=;
  }
  PROPERTIES
  {
  }
  FIELDS
  {
	{ 1 ; ;Line			  ;Integer		}
	{ 2 ; ;DimValue		  ;Code10		 }
	{ 3 ; ;FactValue		 ;Decimal		}
	{ 4 ; ;FactAvg		;Decimal	 ;FieldClass=FlowField;
												   CalcFormula=Average(AvgExample.FactValue WHERE (DimValue=FIELD(DimValue))) }
  }
  KEYS
  {
	{  ;Line								  ;Clustered=Yes }
	{  ;DimValue							  ;SumIndexFields=FactValue }
  }
  CODE
  {

	BEGIN
	END.
  }
}
Единственное что Вам осталось сделать для решения задачи - отобразить только уникальные значения поля DimValue и поле FactAvg. Это можно сделать через временную таблицу, через отметки (мark's), и т.д.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:17.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.