|
Таблица значений. Подсчет непустых строк. | ☑ | ||
|---|---|---|---|---|
|
0
twilight5023
06.04.06
✎
18:18
|
Может у кого-то возникала аналогичная задача... Есть таблица значений, как проще всего подсчитать количество непустых строк в каждой колонке?
|
|||
|
2
Токс
06.04.06
✎
18:28
|
Свернуть и вычесть...
ЗЫ Крута Стерва... |
|||
|
3
Стрелок
06.04.06
✎
18:29
|
Сортировка
|
|||
|
4
VadBad
06.04.06
✎
18:32
|
Добавить колонку "Счетчик"
Заполнить 1 Свернуть по колонке квкоторой надо считать. Нати пустое значение. Вычесть "Счетчик" из Кол. строк. |
|||
|
5
Рупор абсурда
06.04.06
✎
18:33
|
Самое быстрое будет - это посчитать перебором ...
|
|||
|
6
mszsuz
06.04.06
✎
18:36
|
Ещё быстрее - посчитать пустышки в момент формирования ТЗ.
|
|||
|
7
Рупор абсурда
06.04.06
✎
18:40
|
(6) Забавно было бы взглянуть, как ты будешь это делать вот на таком, например, фрагменте:
Запрос.Выгрузить(ТЗ); |
|||
|
8
twilight5023
06.04.06
✎
18:42
|
(5) Т.е. так что-ли?
Непустых = 0; Для j=1 По ТаблицаИтогов.КоличествоСтрок() Цикл Если ПустоеЗначение(ТаблицаИтогов.ПолучитьЗначение(j,i)) = 0 Тогда Непустых = Непустых + 1; КонецЕсли; КонецЦикла; Сообщить("Колонка: " + i + " - Непустых строк: " + Непустых); |
|||
|
10
Токс
06.04.06
✎
18:43
|
...
Пока ТаблицаИтогов.ПолучитьСтроку()=1 Цикл ... |
|||
|
11
mszsuz
06.04.06
✎
18:45
|
(7) А в самом запросе?
|
|||
|
12
insider
06.04.06
✎
18:52
|
может все-таки отсортировать в обратном порядке по этой колонке, потом найти пустое значение в ней же и вычесть единицу?
|
|||
|
13
twilight5023
06.04.06
✎
18:54
|
(10) А если у меня колонки добавляются в цикле, как ТаблицаИтогов.НоваяКолонка(,"Число"), то как потом к ним по имени обратиться (в смысле если цикл через ПолучитьСтроку() делать?)
|
|||
|
14
insider
06.04.06
✎
18:57
|
(13) колонки в цикле? в любом случае названия им давай - обратишься (имхо проще так). а вообще код бы увидеть, интересный наверное...
|
|||
|
15
mszsuz
06.04.06
✎
18:59
|
Первая колонка: ТаблицаИтогов._1, вторая: ТаблицаИтогов._2, ...
|
|||
|
16
twilight5023
06.04.06
✎
19:01
|
(15) Уже увидел, поместив ТЗ на форму ;) Спасибо... только вот в цикле, имхо, ты потом не сможешь считать количество непустых по колонкам. Как ты обратишься к ним по имени вида ТаблицаИтогов._i, где i номер колонки?
|
|||
|
17
twilight5023
06.04.06
✎
19:05
|
(14) А код - что-то наподобие динамики продаж в табличном виде с этого же сайта, только гораздо проще в плане различных группировок. Вот динамика продаж, имхо, интересно сделана. Так до конца и не хватает времени с ней разобраться.
|
|||
|
18
insider
06.04.06
✎
19:06
|
(17) для чего считаешь пустые? почему не хочешь давать колонкам внятные названия?
не понимаю... |
|||
|
19
twilight5023
06.04.06
✎
19:10
|
(18) Каждая колонка в таблице - период. Количество периодов задается пользователем на форме, соответственно их может быть как один, так и N ... а непустые нужно считаю чтобы узнать количество сработавших клиентов за данный период. Т.е. если клиент брал что-то в периоде 1, то в колонке будет сумма реализации, если этот же клиент не брал ничего в периоде 2, то значение будет пустым. Вообщем нужно получать помимо этих показателей количество сработавших клиентов в N-ом периоде.
|
|||
|
20
Буль
06.04.06
✎
19:12
|
Хм... Чудесатенько...
1С: "Учет пустых колонок." |
|||
|
21
КонецЦикла
06.04.06
✎
19:13
|
зачем ТЗ? разбей в запросе группировкой по периоду
|
|||
|
22
insider
06.04.06
✎
19:13
|
(19) ну и называй колонки типа "К0106" (январь 2006) и т.п., типа так: .НоваяКолонка("К"+ТекПериод,<бла-бла, неважно>)
ну а непустые считай при заполнении и кидай в служебную ТЗ (т.е. еще одну создай, только не в цикле ессно) (20) :) |
|||
|
23
insider
06.04.06
✎
19:14
|
(21) о, телепат, респект :)
|
|||
|
24
Стрелок
06.04.06
✎
19:15
|
(19) А ты не хочешь сделать наоборот - колонки - клиенты а периоды - строки. Заполнишь "1" там где клиент обращался и dxc` срастётся на ура
|
|||
|
25
insider
06.04.06
✎
19:16
|
(24) че у тя срастается? :)
имхо так отчет и должен выглядеть, ну не в колонках же клиенты? |
|||
|
26
Стрелок
06.04.06
✎
19:19
|
(25) Как будет выглядеть итоговая печатная форма - без разницы. А вот как формировать данные так чтобы было удобнее - нужно подумать. Я просто как вариант предложил
|
|||
|
27
Буль
06.04.06
✎
19:19
|
Звыняюсь за ОФФ.
(25) Я тебе вроди ;-) когда-то обещался поделиться впечатлениями про ОС ReactOS, но поймать не мог. Так вот, Реактос этот - г..но полное. С какого фонаря на сайт скриншотов налепили я так и не понял. |
|||
|
28
twilight5023
06.04.06
✎
19:22
|
Да все просто на самом деле... отчет был так написан еще до меня... там по запросу как-то хитро формируется ТЗ, честно говоря мне лениво разбираться как именно. Поэтому уже посчитал сработавших как количество непустых колонок (8), вообщем-то получил то, что хотел. Всем спасибо ;) Согласитесь, что так быстрее, чем копать весь отчет целиком... можно было бы конечно сделать новый запрос, считать выводить по нему, но если уже все через ТЗ сделано, зачем переделывать-то?
|
|||
|
29
insider
06.04.06
✎
19:23
|
(28) ну... не знаю, дело хозяйское :)
<офф> (27) ага, помню, хорошо, что не качал, там хоть и трафика мало, но если г..., то и незачем время тратить :) |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |