|
Как вычислить среднее значение в колонке таблицы значений ? | ☑ | ||
---|---|---|---|---|
0
Ткачев
18.07.12
✎
20:30
|
Собственно сабж.
Сейчас сделано через цикл, подсчет кол-во значений и делиться на сумму. |
|||
1
mehfk
18.07.12
✎
20:32
|
тз.Итог("мояколонка")/тз.Количество()
|
|||
2
Mort
18.07.12
✎
20:32
|
Итог() Количество()
|
|||
3
Ткачев
18.07.12
✎
20:32
|
Немножко не то, число строк постоянно 31, а значение может быть не у всех.
|
|||
4
Ткачев
18.07.12
✎
20:36
|
Постоянно... колонок 12, строк 31, значение в строках есть не везде, надо вычислить среднее значение во всех колонках.
|
|||
5
andrewks
18.07.12
✎
20:40
|
(3) не понял
|
|||
6
izekia
18.07.12
✎
20:40
|
ну сложи итоги и посчитай, или ты про то что незаполненные не должны попадать в расчет?
|
|||
7
izekia
18.07.12
✎
20:41
|
(5) он похоже хочет только по заполненным расчитывать
|
|||
8
andrewks
18.07.12
✎
20:41
|
(7) тогда предложу запросом
|
|||
9
izekia
18.07.12
✎
20:42
|
(8) некошерно как-то
|
|||
10
Мимохожий Однако
18.07.12
✎
20:43
|
При заполнении ТЗ создай колонку "Есть значение", проставляй в этой колонке единицу при наличии ненулевого значения в соседней колонке. Тогда можно без перебора обойтись. Возьмешь для подсчета количества итог в этой колонке.
|
|||
11
Ткачев
18.07.12
✎
20:43
|
0,0,0,5,0,0,2,0,0,3 - вот отсюда надо вычислить среднее.
|
|||
12
izekia
18.07.12
✎
20:43
|
(10) типа и так можно сортировать
|
|||
13
izekia
18.07.12
✎
20:44
|
(11) лучше скажи свою версию среднего по этим данным
|
|||
14
andrewks
18.07.12
✎
20:44
|
(9) почему?
|
|||
15
Ткачев
18.07.12
✎
20:45
|
(13)3,33
|
|||
16
izekia
18.07.12
✎
20:45
|
(14) а зачем данные на скл гонять только для того чтобы посчитать?
|
|||
17
izekia
18.07.12
✎
20:46
|
(15) значит сортируешь по убыванию и складываешь пока не 0, дальше прерываешь цикл и делишь на количество обработанных строк и делишь
|
|||
18
andrewks
18.07.12
✎
20:46
|
(16) пусть работает, скотина бессловесная. даром, что-ли, на неё деньги потрачены? :)
|
|||
19
Живой Ископаемый
18.07.12
✎
20:47
|
боже мой... и до сих пор никто не предложил правильного?
|
|||
20
izekia
18.07.12
✎
20:47
|
я предложил уже
|
|||
21
Ткачев
18.07.12
✎
20:47
|
(19)Нее, Вас только ждем.
|
|||
22
Живой Ископаемый
18.07.12
✎
20:50
|
а, предложили... только не разжевали...
|
|||
23
izekia
18.07.12
✎
20:50
|
автору только читать подучиться и все у него получится
|
|||
24
Живой Ископаемый
18.07.12
✎
20:50
|
правильно в (8)
|
|||
25
Ткачев
18.07.12
✎
20:51
|
Расположение строк нельзя нарушать.
|
|||
26
izekia
18.07.12
✎
20:52
|
правильно в (9)
|
|||
27
izekia
18.07.12
✎
20:54
|
с чего бы в 8 правильно, 1С в любом случае обходит коллекцию, причем все поля, чтобы положить таблицу на сервер, потом скл пишет в темп дб, потом выполняется запрос, что же в этом правильного?
|
|||
28
izekia
18.07.12
✎
20:54
|
тогда уже просто обойти колонки проще
|
|||
29
Fragster
гуру
18.07.12
✎
20:54
|
Итог(...)/(Количество() - НайтиСтроки(тута отбор по нулю).Количество())
|
|||
30
izekia
18.07.12
✎
20:55
|
(28) строки
|
|||
31
izekia
18.07.12
✎
20:55
|
(29) да, прикольный вариант, крутился)
|
|||
32
Fragster
гуру
18.07.12
✎
20:57
|
(31) обращайтесь. А вообще задолбали примитивные вопросы. Такое ощущение, что алгоритм простейший составить не могут люди. Приходится "вредные советы" давать.
|
|||
33
Fragster
гуру
18.07.12
✎
20:57
|
ну и понятия о том, что такое "среднее", суммовые разницы, и т.п. у всех тоже свое...
|
|||
34
Fragster
гуру
18.07.12
✎
20:57
|
:(
|
|||
35
Ткачев
18.07.12
✎
21:00
|
Не так все просто, там еще итоги в 0 и 32 строке (по индексу).
|
|||
36
Fragster
гуру
18.07.12
✎
21:01
|
(35) молодец. а теперь себе ответь на вопрос, откуда берется эта таблица?
|
|||
37
Живой Ископаемый
18.07.12
✎
21:02
|
2(36)даже думать нечего, и так понятно
|
|||
38
Fragster
гуру
18.07.12
✎
21:02
|
кстати, в феврале 28-29 дней...
|
|||
39
Fragster
гуру
18.07.12
✎
21:02
|
в апреле - 30...
|
|||
40
Fragster
гуру
18.07.12
✎
21:03
|
а если оно на форме - то походу автор не осилил шапку и подвал у табличного поля...
|
|||
41
Ткачев
18.07.12
✎
21:03
|
(38)Это не важно, где нет дня там 0, отчет разбираю прошлого программера, статистика продаж.
|
|||
42
Ткачев
18.07.12
✎
21:04
|
(40)Не на форме, данные собираются запросом, ложатся в ТЗ и от туда в макет.
|
|||
43
andrewks
18.07.12
✎
21:05
|
(27) съел? (42) :Р
|
|||
44
Fragster
гуру
18.07.12
✎
21:06
|
(42) а запрос не позволяет это сделать ДО того, как ты склеишь реальные обороты с числами?
|
|||
45
izekia
18.07.12
✎
21:06
|
а в запросе сразу никак не посчитать?
|
|||
46
izekia
18.07.12
✎
21:06
|
(43) я же не виноват в том что автор непробиваем
|
|||
47
Ненавижу 1С
гуру
18.07.12
✎
21:06
|
(42) а сразу взять в запросе?
|
|||
48
izekia
18.07.12
✎
21:08
|
у меня вообще есть предложение к автору: не трогать то что работает
|
|||
49
Ткачев
18.07.12
✎
21:09
|
(48)Медленно работает.
|
|||
50
Мимохожий Однако
18.07.12
✎
21:13
|
(49)Смотри не на ТЗ, а на запрос.
|
|||
51
Ткачев
18.07.12
✎
21:14
|
(47)Там периодичность ДЕНЬ стоит, среднее надо за месяц, итоги нужны за день, 10 дней, месяц
|
|||
52
Живой Ископаемый
18.07.12
✎
21:15
|
в самом общем виде:
http://screencast.com/t/hYdqvVLjLV2L |
|||
53
andrewks
18.07.12
✎
21:17
|
(52) а чё это у тебя за консоль?
|
|||
54
Живой Ископаемый
18.07.12
✎
21:17
|
2(51) всем плевать. серьезно
|
|||
55
Живой Ископаемый
18.07.12
✎
21:18
|
2(53) ты что, издеваешься?
v8: v8: Подсистема "Инструменты разработчика" получила зеркало без ограничения скачивания |
|||
56
andrewks
18.07.12
✎
21:19
|
(55) ч0рт, жизнь прожита зря. пойду, заценю
|
|||
57
Живой Ископаемый
18.07.12
✎
21:20
|
2(56) добавляю в каждую базу в которой возможна работа с толстыми формами. просто развязывает руки.
|
|||
58
Ткачев
19.07.12
✎
10:08
|
Куда ставить среднее за месяц в этот запрос ?
Запрос = Новый Запрос(" |ВЫБРАТЬ | ИздержкиОбороты.СуммаУпрОборот КАК СуммаЗП, | ИздержкиОбороты.Период, | ИздержкиОбороты.Организация |ПОМЕСТИТЬ Зарплата |ИЗ | РегистрНакопления.Издержки.Обороты( | &НачДата, | &КонДата, | День, | Статья = &Статья1 | ИЛИ Статья = &Статья2) КАК ИздержкиОбороты |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПродажиОбороты.Период КАК Период, | ПродажиОбороты.ВсегоУпрОборот КАК Выручка, | ПродажиОбороты.ВсегоУпрОборот - ЕСТЬNULL(ПродажиОбороты.СтоимостьУпрОборот, 0) - ЕСТЬNULL(Зарплата.СуммаЗП, 0) КАК Прибыль |ИЗ | РегистрНакопления.Продажи.Обороты( | &НачДата, | &КонДата, | День, | " + ?(ЕстьСклад, "Склад = &Склад", "") + " | И НЕ Номенклатура = &Баланс) КАК ПродажиОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Зарплата КАК Зарплата | ПО (ДЕНЬ(ПродажиОбороты.Период) = ДЕНЬ(Зарплата.Период)) | И ПродажиОбороты.Склад.Организация = Зарплата.Организация | |УПОРЯДОЧИТЬ ПО | Период"); |
|||
59
Fragster
гуру
19.07.12
✎
10:38
|
гыгы, а если Продаж в какой-то день не было, а издержки были?
|
|||
60
Fragster
гуру
19.07.12
✎
10:39
|
продажи (включая вычисленное среднее) -> ВТ, а ВТ уже соединяй/объединяй
|
|||
61
Fragster
гуру
19.07.12
✎
10:54
|
кстати, а в чем прикол соединять по полю День? начальные и конечные даты всегда в пределах месяца? Да и при этом все равно из виртуальных таблиц даты начала дня при такой периодичности возвращаются и сразу по ним соединять без всяких извращений с День()
|
|||
62
Ткачев
23.07.12
✎
13:56
|
Как то так получилось:
Для Аа = 1 по 12 Цикл КолВоДнейМесяца = Число(Формат(КонецМесяца(Дата(ГодОтчета, Аа, 01)), "ДФ=dd")); СредВыручка = СуммаИтогов["В" + Аа] / КолВоДнейМесяца; СредПрибыль = СуммаИтогов["П" + Аа] / КолВоДнейМесяца; ОбластьМесяца.Параметры.СредВыручка = СредВыручка; ОбластьМесяца.Параметры.СредПрибыль = СредПрибыль; Таб.Присоединить(ОбластьМесяца); СредСумма["В" + Аа] = СредВыручка; СредСумма["П" + Аа] = СредПрибыль; КонецЦикла; |
|||
63
izekia
23.07.12
✎
14:53
|
Ура
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |