Имя: Пароль:
1C
1С v8
СКД Среднее для "нечислового" ресурса
,
0 wmonref
 
01.04.21
19:37
Есть документ который содержит симптомы, болезни и т.п. больных. Создал отчет СКД где надо получить количество больных по разным симптомам, болезням, и т.д. Соответственно, в запросе СКД выбраны все поля документа и ссылка (имеет роль ресурса), т.е. группируя по болезням получаем количество ссылок = количество больных.
Подскажите как получить Среднее от количества больных. Среднее(ссылка) вываливается с ошибкой Неверные параметры "AVG"
1 mikecool
 
01.04.21
20:15
вычисляемое поле
ссылка = 1, среднее от числа посчитает
2 NikP123
 
01.04.21
20:44
Сумма() / Количество()
3 wmonref
 
01.04.21
20:52
(1) Создал вычисляемое поле, в выражение написал ссылка=1, в ресурсах указал это поле с выражением Среднее(). Выдает ошибку Неверные параметры "AVG"
4 acht
 
01.04.21
21:14
(0) > Подскажите как получить Среднее от количества больных.
По разным группировкам. Количество - по больным, среднее - по болезням
5 wmonref
 
01.04.21
21:41
(4) Как именно, подскажите?
6 wmonref
 
01.04.21
22:51
up
7 hhhh
 
02.04.21
02:52
(5) что конкретно нужно? Средняя температура по больнице?
8 toypaul
 
гуру
02.04.21
08:53
Могу помочь если будет больше инфы. Картинки настроек, запрос может быть, картинка того как надо. На ИС тему видел. Лень отвечать, когда спрашивающий не может вопрос нормально задать
9 БаксПо90
 
02.04.21
09:47
гы-гы, кстати.
10 БаксПо90
 
02.04.21
09:56
предлагаю почитать что-то про номинальную шкалу измерений .. и "среднюю" для нее ..
после чего понять, что вообще речь то не о средней тут , а о некой гистограмме .. точнеее просто подсчете числа случае в выборке определенного вида и определения доли этих случаев к общему числу ..
а то у вас наверное и образование есть ..
11 Василий Алибабаевич
 
02.04.21
09:59
(0) Все выглядит примерно так (для подсчета количества одинаковых значений):
"
ВЫБРАТЬ
  ПолеКотороеНужноПосчитать КАК ЗначениеПоля,
  КОЛИЧЕСТВО(1) КАК ЧастотаПовторов
ИЗ
  РегистрСведений.<...> КАК РегистрСведенийИзКоторогоВыбираем
СГРУППИРОВАТЬ ПО ЗначениеПоля
"
Получается табличка с колонками "ЗначениеПоля" - "ЧастотаПовторов".

"Среднее от количества больных" не поддается пониманию. Потому дальше - сам.
12 Lama12
 
02.04.21
10:11
(0) Объясните на примере, что для вас - "среднее"?
Во пример.

Грип             - 10
Перелом          - 15
Сотрясение мозга - 3
Подагра          - 1
ОРВИ             - 100

Где здесь "среднее" по количеству больных?
13 БаксПо90
 
02.04.21
10:14
Орви средним будет )
14 wmonref
 
02.04.21
10:14
(12) (10+15+3+1+100)/5
15 Lama12
 
02.04.21
10:19
(13) Кстати, очень похоже. Хотя может "Сотрясение мозга". Оно посередине стоит. А может "Перелом", он медианное значение.
(14) Мда... неужели такая статистика в медицине применяется? Это среднее количество больных на болезнь. Т.е. тебе фактически нужно знать количество группировок в СКД и количество больных в каждой группировке.
16 wmonref
 
02.04.21
10:21
(12) Возможна еще такая ситуация:
Грип                -13
    Легк        -6
    Норм        -4
    Тяж         -3

Среднее будет 4,3
17 Lama12
 
02.04.21
10:22
(16) И должно быть одно срденее?
18 wmonref
 
02.04.21
10:23
(14) применяется ,применяется
(17) Получается что для каждой группировки верхнего уровня
19 Lama12
 
02.04.21
10:28
(18) Получается, что мы гадаем как должно быть.
Что хочет заказчик? Заказчик может пример привести? Как заказчик вручную считает "среднее"? Или хотя бы как заказчик будет проверять что программа работает правильно?
Если заказчик не сможет ответить на эти вопросы, то предлагаю через генератор случайных числе создавать значения в интервале от нуля до максимального значения в группировке.
20 БаксПо90
 
02.04.21
10:34
лишь бы заказчик счастлив был .. но слово среднее лучше не писать, а то вдруг кто-то вчитается .. лучши писать доля , ну там или число .. ведь у вас число будет .. а .. там пусть каждый как хочет , так это число и называет.
21 БаксПо90
 
02.04.21
10:35
Хотя даже 1с пока отбивается и число давать не хочет.
22 wmonref
 
02.04.21
10:49
(8) Вот такой запрос в скд:
ВЫБРАТЬ
   ТипБолезни,
   Состояние,
   Больница,
   ДатаЗаболевания,
   Ссылка КАК КолБольных
ИЗ
   Документ.ИсторияБолезни

КолБольных - ресурс c выражением Количество(КолБольных)

При формировании отчетов получаем КолБольных по различным группировкам.
23 wmonref
 
02.04.21
10:54
На счет среднего количества больных, решил следующим образом:
Добавил вычислямое поле, ресурс по этому полю и в выражении ресурса написал:  
Среднее(ВычислитьВыражениеСГруппировкойМассив("Количество(КолБольных)","группировка1,группировка2"))

Но получается что надо руками вбивать в это выражение имена группировок каждый раз когда они меняются, что не есть очень хорошо. По этому и спросил как по другому вычислить среднее для поля "Ссылка КАК КолБольных" ?
24 toypaul
 
гуру
02.04.21
10:58
(23) посчитай в запросе сразу количество больных. среднее будешь считать в СКД
25 toypaul
 
гуру
02.04.21
11:00
Если поле Ссылка нужно в отчете также, то сделай 2 набора - первый включает поле ссылка, во втором посчитано свернуто (без Ссылка)
26 wmonref
 
02.04.21
11:01
(24) Подумал и об этом варианте... ок, попробую
27 wmonref
 
02.04.21
12:51
(23) ок, теперь немного полегчало... А как быть если в документе ИсторияБолезни есть ТЧ?
28 wmonref
 
02.04.21
12:55
т.е. я переделал запрос и теперь среднее расчитывается легко через ресурс по вычислямому полю и Среднее(КолБольных)


ВЫБРАТЬ
   ТипБолезни,
   Состояние,
   Больница,
   ДатаЗаболевания,
   КОЛИЧЕСТВО(1) КАК КолБольных
ИЗ
   Документ.ИсторияБолезни
СГРУППИРОВАТЬ ПО
   ТипБолезни,
   Состояние,
   Больница,
   ДатаЗаболевания

как добавить сюда строку из ТЧ документа ?
29 Mikeware
 
02.04.21
13:58
м-дя. теперь понятно, почему у нас такая медстатистика...
30 wmonref
 
02.04.21
21:16
(29) А по теме?
Ведь если поместить строки ТЧ в временную таблицу а потом соединить по ссылке получатся (например) 3 строки если в тч 3 строки. Я так понимаю что нельзя сделать вложенную таблицу из временной таблицы... Посоветуйте, как получить что-то наподобие вложеной таблицы?
31 hhhh
 
02.04.21
23:07
(30) сделать невложенную таблицу.
32 wmonref
 
02.04.21
23:22
ВЫБРАТЬ
   КОЛИЧЕСТВО(1) КАК КолБольных
   ТипБолезни,
   Больница,
   ДатаЗаболевания,
   ИБТабЧасть.Симптом
ИЗ
   Документ.ИсторияБолезни КАК ИБ
ЛЕВОЕ СОЕДИНЕНИЕ
   Документ.ИсторияБолезни.ТабЧасть КАК ИБТабЧасть
ПО
  ИБ.Ссылка = ИБТабЧасть.Ссылка
СГРУППИРОВАТЬ ПО
   ТипБолезни,
   Больница,
   ДатаЗаболевания,
   ИБТабЧасть.Симптом


Результат такого запроса выдает только единицы в КолБольных...
33 hhhh
 
02.04.21
23:29
ВЫБРАТЬ
   КОЛИЧЕСТВО(1) КАК КолБольных
   ИБТабЧасть.Ссылка.ТипБолезни,
   ИБТабЧасть.Ссылка.Больница,
   ИБТабЧасть.Ссылка.ДатаЗаболевания,
   ИБТабЧасть.Симптом
ИЗ
   Документ.ИсторияБолезни.ТабЧасть КАК ИБТабЧасть

левое соединение выкинуть нахрен.
34 wmonref
 
02.04.21
23:47
(33) Тот же результат, т.е. только единицы в результате... Если в выражении ресурса поиграться с функциями выходит тоже хренотень...
35 hhhh
 
03.04.21
00:42
(34) надо писать СУММА(1), что это за КОЛИЧЕСТВО?
36 Mikeware
 
03.04.21
00:53
(34) что ты хочешь получить-то?
37 wmonref
 
03.04.21
08:38
(36) Вот такой запрос в скд

ВЫБРАТЬ
   СУММА(1) КАК КолБольных
   ИБТабЧасть.Ссылка.ТипБолезни,
   ИБТабЧасть.Ссылка.ДатаЗаболевания,
   ИБТабЧасть.Симптом
ИЗ
   Документ.ИсторияБолезни.Симптомы КАК ИБТабЧасть
СГРУППИРОВАТЬ ПО
   ТипБолезни,
   ДатаЗаболевания,
   ИБТабЧасть.Симптом

В базе введены 2 документа ИсторияБолезни (т.е. 2 больных) с 2-мя разными типами болезни. У одного больного 3 симптома, у второго 4 симптома. Если сделать отчет по ТипБолезни и количеству больных получим 3 больных по первому типу болезни и 4 по второму. Но фактически их же по подному
38 hhhh
 
03.04.21
13:34
(37) вот так вам надо

ВЫБРАТЬ
   1 КАК КолБольных
   ИБТабЧасть.Ссылка.ТипБолезни КАК ТипБолезни,
   ИБТабЧасть.Ссылка.ДатаЗаболевания КАК ДатаЗаболевания,
   ИБТабЧасть.Симптом
ИЗ
   Документ.ИсторияБолезни.Симптомы КАК ИБТабЧасть

а всё остальное в настройках скд. Правильной расстановкой галочек у группировок и на закладке ресурсы.
39 wmonref
 
03.04.21
23:14
(37) так подскажите, пожалуйста, какие галочки надо устанавливать для того чтобы в результате отчета по ТипБолезни получить 2 больных, а не 7
40 hhhh
 
04.04.21
00:17
(39) ну тут  и ежу понятно. На закладке ресурсы КолБольных у вас ресурс, в правой колонке проставляете галочки, у группировки ТипБолезни ставите галочку, у группировки Симптом не ставите.
41 wmonref
 
04.04.21
16:05
(40) Спасибо, но без изменений... Переделал запрос, проставил галки в "Рассчитывать по" - результат тот же... 3 больных по одному типу и 4 по второму...
42 DrZombi
 
гуру
04.04.21
19:36
(41) Научитесь в группировке получить два значения
1. Итог количества больных
2. Итог количество болезней

Остальное придется позже :)
43 wmonref
 
04.04.21
20:50
(41) так подскажите как сделать :)
44 DrZombi
 
гуру
05.04.21
06:28
(43) Думать, и не употреблять терминологию "Среднее", там где нет среднего :)

"Коля ест мясо, Петя ест Капусту, а вместе они едят в среднем голубцы" :)
45 hhhh
 
05.04.21
06:30
(41) покажите на скринах, как делали и как не получилось.
46 DrZombi
 
гуру
05.04.21
06:32
+(43) https://ru.wikipedia.org/wiki/Среднее_арифметическое

Смотри в (42), как получишь данные итоги, так пиши тут, подскажем как пользоваться "Вычисляемыми полями" :)
47 Mikeware
 
05.04.21
07:44
(44) зато интересно болезни получатся: среднее из сотрясения мозга и перелома пятки даст понос...
48 wmonref
 
05.04.21
11:25
49 wmonref
 
05.04.21
17:47
(46) В запросе получить итоги или как?
50 wmonref
 
16.04.21
12:32
Помогите, пожалуйста, найти решение...
51 VladZ
 
16.04.21
12:43
(50) Не понял, что тебе нужно.
Давай еще разок.
52 wmonref
 
16.04.21
21:24
(50) Есть документ "История болезни" с табличной частью "Сипмтомы". Для каждого больного создано по одному документу. Хочу в отчете СКД получить количество больных по разным группировкам. Создал набор данных - объединение и добавил

Первый запрос:


ВЫБРАТЬ  
  СУММА(1) КАК КолБольных,
  ИБ.ТипБолезни КАК ТипБолезни,
  ИБ.Больница КАК Больница
ИЗ
  Документ.ИсторияБолезни КАК ИБ
СГРУППИРОВАТЬ ПО
  ИБ.ТипБолезни,
  ИБ.Больница


и второй запрос:


ВЫБРАТЬ  
  СУММА(1) КАК КолБольных,
  ИБТабЧасть.Ссылка.ТипБолезни КАК ТипБолезни,
  ИБТабЧасть.Ссылка.Больница КАК Больница
  ИБТабЧасть.Симптом
ИЗ
  Документ.ИсторияБолезни.Симптомы КАК ИБТабЧасть
СГРУППИРОВАТЬ ПО
  ИБТабЧасть.Симптом,
  ИБТабЧасть.Ссылка.ТипБолезни,
  ИБТабЧасть.Ссылка.Больница

Если создать отчет с группировками Больница, ТипБолезни и Симптомы получим вот такой результат

https://c.radikal.ru/c00/2104/93/448b490ed2e0.jpg

Цифры обведенные красным должны быть в итогах группировок по типам болезни (например для Больн №9 есть 6 Средних и 8 Легких типов заболеваний и соответсвенно итоги по больницам неправельные)

Подскажите как исправить?
53 VladZ
 
17.04.21
08:18
(52)
В первом случае КолБольных - это количество больных всего, без разбивки по болезням
Во втором, КолБольных - это количество Симптомов.

Это разные сущности. Зачем ты их складываешь в одну кучу?
54 wmonref
 
17.04.21
10:24
(53) вот такие отчетики нужны... Количество больных по ТипуБолезни и по Симптомам в одном отчете
55 wmonref
 
19.04.21
07:45
up
56 hhhh
 
19.04.21
07:54
(55) тебе же подсказали, сделай КолБольных1 и КолБольных2.
57 wmonref
 
19.04.21
15:46
(56) ок, подскажите тогда как вывести их в одну колонку?
58 VladZ
 
19.04.21
18:02
(57) Это разные понятия. Не нужно их в одну колонку.
59 wmonref
 
21.04.21
07:57
(58) Согласен...
Подскажите, пожалуйста, как тогда сделать форму отчета поприличней? Как убрать или свернуть пустые строки? (см. скрин)

https://d.radikal.ru/d32/2104/92/369b6c9be467.jpg
60 Bigbro
 
21.04.21
08:07
чтобы убрать эти пустые строки надо запретить вводить информацию с "легким" "тяжелым" и т.д. типом болезни но без симптомов. эти пустоты - неуказанный симптом в исходных данных.
61 Mikeware
 
21.04.21
08:16
(60) не, это у него сводное количество больных
62 wmonref
 
21.04.21
15:36
(59) и все-таки?
63 Rovan
 
гуру
21.04.21
15:40
(47) видимо да.... к среднее температуре по больнице все уже привыкли - двигаемся дальше
64 Rovan
 
гуру
21.04.21
15:44
(62) сделай фильтр - не выводить документы, в которых нет табличной части.
65 wmonref
 
21.04.21
21:41
(64) Существует только один документ и у него есть только одна табличная часть. Если имеется ввиду не выводить документы у которых не заполнена ТЧ, добавил в втором запросе "НЕ ИБТабЧасть.НомерСтроки ЕСТЬ NULL" но результат тот же...
66 wmonref
 
22.04.21
14:28
ап
67 Cthulhu
 
22.04.21
14:37
за столько времени я бы на твоем месте уже слепил бы суперлегкую конфигурацию (с только этим документом и с твоим скд-отчетом), забил в нее маламала документов, слепил отчет с замечаниями да выложил.
(ну вот лень мне твою - хотя и разжеванную - ситуацию воспроизводить забесплатно)
68 Rovan
 
гуру
22.04.21
15:56
(65) тогда убрать из запроса выборку
ИЗ
  Документ.ИсторияБолезни КАК ИБ

Оставить только
ИЗ
  Документ.ИсторияБолезни.Симптомы КАК ИБТабЧасть
69 wmonref
 
23.04.21
22:46
70 wmonref
 
23.04.21
22:47
(69) 8.3.13 ОФ
71 wmonref
 
26.04.21
19:19
ап
72 Cthulhu
 
26.04.21
19:39
и что надо получить?
(тупо нарисуй, не надо неправильное постить и кружочками обводить с объяснениями; объяснения - это пока еще просто не твое)
73 wmonref
 
26.04.21
20:02
(72)
Как убрать или свернуть пустые строки, т.е. те которые обведенные красным? (см. скрин)

https://d.radikal.ru/d32/2104/92/369b6c9be467.jpg
74 Cthulhu
 
26.04.21
20:10
(73): это не на тех данных
75 wmonref
 
26.04.21
21:06
(74) перепутал ссылки... Вот:

https://b.radikal.ru/b27/2104/56/e95f8eb660cd.jpg

Т.е. чтобы итоги по симптомам не выводились вообще, а по больницам и типам болезняи итоги считались только от количества больных
76 Cthulhu
 
26.04.21
23:26
(75): все немного проще. и местами - чууть-чуть сложнее.
глянь - оно?
https://www.mediafire.com/file/klouuqmurbjtonl/%25D1%2582%25D0%25B5%25D1%2581%25D1%25821.erf/file
77 Cthulhu
 
27.04.21
12:34
(76)+: там само собой запрос пооптимальнее можно сделать - в виде двух связанных таблиц (шапки и т.ч.).
хотя судя по всему - уже нах не надо...
78 wmonref
 
27.04.21
20:00
(76) Спасибо, добрый человек. Вроде то что надо.
Но, есть маленькое "но"... Если в ИсторииБолезни нет ни одного симптома (а такие случаи бывают) то эта история не попадает в выборку...
79 Cthulhu
 
28.04.21
00:51
(78): а если в продаже нет ни одного товара и услуги - то это не продажа.
детский сад. нет симптомов (патологии) - это не болезнь.