|
Как анализировать большой объем данных? | ☑ | ||
---|---|---|---|---|
0
badboychik
10.07.12
✎
14:01
|
Надо выгрузить все продажи + присоединенные аналитики (около 15 колонок) за месяц, чтоб в экселе построить сводные таблицы. Получается за ОДИН ДЕНЬ около 30000 строк в результате запроса. Если месяц запустить то 1С сжирает всю память на локальной тачке и вылетает.
И как теперь выгрузить все данные за месяц? На 7.7 раньше такой отчет делался час, а на 8.2 он вообще не жилец |
|||
57
Mikeware
11.07.12
✎
08:57
|
в (52) слово "заупы" читать как "закупы", а не иначе :-)
|
|||
58
DrShad
11.07.12
✎
08:58
|
да и сам регистр продажи убит наглухо добавлением миллиона ресурсов
|
|||
59
prog2012
11.07.12
✎
09:00
|
(0)пишешь вьюшку в sql, потом заходишь в ёксел и загружаешь её в него
|
|||
60
DrShad
11.07.12
✎
09:01
|
и с такими запросами потом кричат что снеговик тормоз, а клюшки ракета :)
|
|||
61
pumbaEO
11.07.12
✎
09:09
|
А регистр Продажи разве не содержит уже Номенклатуру, нафиг там (54) ?
Фирма_КоличествоКгОборот каким образом превращается в ИтогКолКг - вообще непонятно, че этим вы хотите сказать. |
|||
62
DrShad
11.07.12
✎
09:24
|
и где собственно ТС пропал?
|
|||
63
zling
11.07.12
✎
09:34
|
(54), (61)
обращение к полям номенклатуры? |
|||
64
badboychik
11.07.12
✎
09:37
|
соединение с номенклатурой все равно будет неявное, там же через точку у нее реквизиты берутся.
(58) так о том и речь, ресурсов много а отбор только по организации |
|||
65
pumbaEO
11.07.12
✎
09:38
|
(63) вот это СпрТовары.Родитель.Фирма_ВидСклада все равно делает ненужным левое соединение.
|
|||
66
zling
11.07.12
✎
09:39
|
(64) выборку то должен делать. емнип он выбирает по 10тыр или 100 тыр строк
|
|||
67
zling
11.07.12
✎
09:40
|
(65) там нужно 2 левых соединения. скуль построит 2ое сам. запрос на скуле отрабатывается
|
|||
68
fly7
11.07.12
✎
09:40
|
||||
69
DrShad
11.07.12
✎
09:44
|
(64) короче переходи на клюшки, там запросы попроще да и не тормозят
|
|||
70
zling
11.07.12
✎
09:45
|
(0) а что за локальная тачка? ты с выгруженной таблицей пытаешься на толстом клиенте работать? так?
|
|||
71
badboychik
11.07.12
✎
09:45
|
(69) как раз ОТ клюшек уйти и стараемся ))
|
|||
72
fly7
11.07.12
✎
09:45
|
(52) я для 1с82 УФ тестировал PivotCubeAX
вроде работает, но потом сменил работу и ОЛАП стал не очень нужен |
|||
73
badboychik
11.07.12
✎
09:47
|
(70) ага
|
|||
74
fly7
11.07.12
✎
09:48
|
(73) а если через СКД выгрузить в таблицу значений, потом ее выгрузить в csv ?
|
|||
75
fly7
11.07.12
✎
09:49
|
(73) а эти все ВЫБОР КОГДА реализовать через вычисляемые поля
|
|||
76
zling
11.07.12
✎
09:50
|
(73) надо работатать или в контексте сервера или делай выборку, а не выгрузку
|
|||
77
zling
11.07.12
✎
09:53
|
(73) если клиентский компик настолько плох, что не может работать с 400кило строк, ты уверен, что он будет с ними работать в экселе?
|
|||
78
ASU_Diamond
11.07.12
✎
09:53
|
(73) ТЗ можно использовать на этапе отладки, при работе работай с запросом
|
|||
79
ASU_Diamond
11.07.12
✎
09:55
|
(77) в экселе у него будут простые типы данных: строки и числа, а в ТЗ 1С у него объекты тянутся, они гораздо тяжелее строк
|
|||
80
zling
11.07.12
✎
09:56
|
(79) ссылка - это 2 строки:сама ссылка и ее представление. Ну подумаешь в 2 р. больше :)
|
|||
81
badboychik
11.07.12
✎
09:59
|
А если все поля сделать представлениями, быстрее будет?
|
|||
82
zling
11.07.12
✎
10:00
|
(79) просто не в этом дело, имхо. Если он с такой выборкой не может работать, то тут надо что-то более координальное, чем заменять ссылки представлением. Кстати он может это же и в эске сделать
|
|||
83
zling
11.07.12
✎
10:01
|
(81) ну памяти меньше уйдет
|
|||
84
zling
11.07.12
✎
10:02
|
(81) а если попросят период выборки увеличить, снова будешь сидеть и думать :)
|
|||
85
VladZ
11.07.12
✎
10:12
|
(71) Причины перехода озвучь.
|
|||
86
badboychik
11.07.12
✎
10:25
|
(85) переход на УПП )) нормальная причина?
|
|||
87
hhhh
11.07.12
✎
10:29
|
ИМХО 30000 и 10000 для восьмерочных запросов - это детские размеры. Выполняется на секунды. Что-то автор не договаривает, какая-то другая видимо причина нехватки памяти.
|
|||
88
badboychik
11.07.12
✎
10:30
|
не 30 тысяч а 145
|
|||
89
VladZ
11.07.12
✎
10:31
|
(86) А на УПП зачем перешли?
|
|||
90
DrShad
11.07.12
✎
10:31
|
(87) да ты его запрос глянь, там столько обращений к одним и тем же таблицам, что не каждый скуль проглотит
|
|||
91
DrShad
11.07.12
✎
10:32
|
(89) ну так а где же еще ABC и XYZ анализы проводить? :))))
|
|||
92
badboychik
11.07.12
✎
10:32
|
(89) потому что тут и производство и торговля в одной базе будут, мясокомбинат же ж
|
|||
93
zling
11.07.12
✎
10:32
|
(90) скуль то проглотил. клиент не проглотил
|
|||
94
hhhh
11.07.12
✎
10:33
|
(88) ну в запросах обычно миллиарды записей крутятся, а ты тут - 145 тысяч. Даже не смешно.
|
|||
95
zling
11.07.12
✎
10:33
|
ну уж миллиарды
|
|||
96
DrShad
11.07.12
✎
10:33
|
(92) почему мясокомбинат на УПП? ведь специфика производства у вас особая
|
|||
97
DrShad
11.07.12
✎
10:34
|
(94) запросы хороши не тем что крутят лямы записей, а тем что можно оптимальную выборку сформировать
|
|||
98
badboychik
11.07.12
✎
10:34
|
(94) ага, миллиарды. Может на голом скуле/оракле и можно миллиардами вертеть, а на 1С где ты видел запросы с миллиардами строк?
|
|||
99
zling
11.07.12
✎
10:35
|
че за компик то клиентский? сколько там памяти, мож ему на венду еле хватает
|
|||
100
badboychik
11.07.12
✎
10:35
|
(99)ноут, 2 гига памяти. запрос то выполняется, вот в эксель сохранить уже не может
|
|||
101
badboychik
11.07.12
✎
10:36
|
придется программно в CSV выгружать
|
|||
102
zling
11.07.12
✎
10:36
|
(98) (94) по большому то счету прав. Не должен быть большой расход
|
|||
103
zling
11.07.12
✎
10:37
|
(100) мож там какие-то приложения еще крутятся?
|
|||
104
acsent
11.07.12
✎
10:37
|
всего 30тыщ строк и умирает? у тебя запрос слишком коряво написан
|
|||
105
badboychik
11.07.12
✎
10:38
|
(104) ну йоптыть, уже писал же что 145 тысяч строк и 18 столбцов
|
|||
106
zling
11.07.12
✎
10:39
|
(100) погоди, запутал сафсем.
на клиенте тз получается или нет? или проблема с выгрузкой в файл? |
|||
107
badboychik
11.07.12
✎
10:40
|
ТЗ получается, почти всю память съедает но получается
|
|||
108
DrShad
11.07.12
✎
10:41
|
(107) а теперь код где выгрузка в Эксель в студию
|
|||
109
VladZ
11.07.12
✎
10:42
|
(92) "мясокомбинат же ж" - Хм.. Дело ваше, но это не аргумент.
|
|||
110
zling
11.07.12
✎
10:42
|
а как ты посмотрел, сколько памяти съедает. приведи цифирь
|
|||
111
netDog
11.07.12
✎
10:49
|
(0) я бы выгрузил данные в SQL. Потом в SQL есть SSAS, там построить кубы не сложно. Анализировать легко
|
|||
112
badboychik
11.07.12
✎
10:50
|
(108) Файл - Сохранить как...
(110) в диспетчере 1,4 гига процесс 1С |
|||
113
zling
11.07.12
✎
10:54
|
(112) а до выполнения запроса?
1) результат = запрос.выполнить(); тз = результат.выгрузить(); результат = неопределено; 2) выборка = запрос.выполнить().выбрать(); |
|||
114
Asirius
11.07.12
✎
10:54
|
(112) Вывел таблицу на экран и руками сохраняешь в XLS? А с чего ты взял, что она в формате 2007 го будет писать, там тупо на 65тыс строк зависает
|
|||
115
zling
11.07.12
✎
10:54
|
не верится, что сама таблица гиг памяти жрет
|
|||
116
DrShad
11.07.12
✎
10:55
|
(112) пипец, ты выбрал самый долбанутый метод сохранения в Эксель и кричишь что снеговик тормоз? в клюшках "сохранить как" в Эксель файлика более 3000 строк вообще был ужас, там умные люди писали доктора XML, который сокращал время записи с нескольких часов до нескольких секунд
|
|||
117
acsent
11.07.12
✎
10:55
|
(112) ручками в ехсел сохраняй
|
|||
118
acsent
11.07.12
✎
10:56
|
В клюшках вообще нельзя сохранить ехсел на 145 тыщ строк
|
|||
119
zling
11.07.12
✎
10:57
|
кстати, народ, в 8.2 построитель отчета остался? как его вызвать?
|
|||
120
badboychik
11.07.12
✎
10:57
|
раньше тут выделяли по несколько тысяч строк и так постепенннно копировали в эксель :)
|
|||
121
zling
11.07.12
✎
10:57
|
он бы тс помог бы, имхо. и в ексель не надо было бы выгружать
|
|||
122
zling
11.07.12
✎
10:59
|
(115) в реестре венды наверно больше данных, чем в таблице
|
|||
123
DrShad
11.07.12
✎
10:59
|
(119) остался конечно, как вызвать? Новый ПостроительОтчета
|
|||
124
Mikeware
11.07.12
✎
10:59
|
(111) Да и "выгружать в SQL" не надо - данные уже там. Просто трансформировать...
ТС выбрал один из самых идиотских путей решения с применеием неподходящего инструмента... |
|||
125
zling
11.07.12
✎
11:01
|
(120) используй построитель отчета. действия - конструктор выходной формы - ыходная форма - построитель
|
|||
126
zling
11.07.12
✎
11:02
|
там можно также интерактивно перетаскивать колонки, насколько я помню
|
|||
127
zling
11.07.12
✎
11:02
|
скажи ехелю нет :)
|
|||
128
badboychik
11.07.12
✎
11:04
|
(124) предлагаете в скуль базу напрямую обращаться? это надо искать инфу по соответствию полей таблиц...
(126) это в сводных отчетах в 1С можно, но они не подходят, неудобные |
|||
129
DrShad
11.07.12
✎
11:07
|
(128) а че ее искать? есть даже методы в СП описанные для этого
|
|||
130
Mikeware
11.07.12
✎
11:08
|
(128) ПолучитьСтруктуруХранения...
|
|||
131
zling
11.07.12
✎
11:10
|
(128) быстрее на сервере сделать выборку, выгрузить в файл и усе
|
|||
132
Mafoni
11.07.12
✎
11:11
|
(68) какой объект юзаете ?
|
|||
133
Mafoni
11.07.12
✎
11:12
|
(40) - какой объект юзаете ?
|
|||
134
Mikeware
11.07.12
✎
11:13
|
(133) см (52)
|
|||
135
badboychik
11.07.12
✎
11:25
|
(52) OWC -
Outdoor Writers of Canada Orlando Watersports Complex Ohio Wildlife Center Other World Computing что из этого есть OWC? )) |
|||
136
Maxxxim
11.07.12
✎
11:26
|
Мы для таких задач обычно пишим хранимую процедуру на серевере, которая получает необходимые данные, и потом результат в возвращаем через внешние источники данных в excel, а дальше хоть сводную, хоть какую таблицу можно делать...
|
|||
137
Mikeware
11.07.12
✎
11:27
|
(135) Офис веб компонентс
|
|||
138
Mafoni
11.07.12
✎
11:46
|
(137) а для 2010 офиса такая компонента есть ?
|
|||
139
Mikeware
11.07.12
✎
11:55
|
(138) Это отдельный пакет. Вполне себе скачивается с мелкософта.
пор 2010 - там вроде эту часть в шарпойнт передали... |
|||
140
Mafoni
11.07.12
✎
11:56
|
(139) - жаль.
|
|||
141
Mikeware
11.07.12
✎
12:04
|
(140) а кто мешает использовать OWC?
с офисом-то это никак не связано... |
|||
142
Mikeware
11.07.12
✎
12:04
|
+(141) вообще, разрабатывалось это для использования на веб-страницах...
|
|||
143
Mafoni
11.07.12
✎
12:20
|
(142) - примера не найдется как использовать OWC ? заранее благодарен.
|
|||
144
badboychik
11.07.12
✎
12:35
|
есть еще решение на яве - jPivot, получается доступ через веб, можно в полеHTMLДокумента вставить
|
|||
145
badboychik
11.07.12
✎
12:43
|
и вот такой халявный OLAP-сервер есть, если кому интересно
http://mondrian.pentaho.com/ |
|||
146
Mikeware
11.07.12
✎
12:47
|
(143) Создание Куба Олап , например.
http://www.1cpp.ru/forum/YaBB.pl?num=1193394153/0 support.microsoft.com/kb/286320 (144) ровно это же делает OWC. |
|||
147
anddro
11.07.12
✎
13:07
|
(49) для выгрузки - это плохой запрос.
Фактически ты выбираешь только ссылки. При формировании отчета для каждой такой ссылки 1с создает представление (уже на клиенте, по факту это запросы в цикле = тормоза). Кроме того следует проверить индексы на связях. И когда число строк измеряется сотнями тысяч, используй запись в csv или в XML. |
|||
148
Mikeware
11.07.12
✎
13:09
|
в который раз убеждаюсь в правильности фразы "восьмерка разжижает мозг"©
|
|||
149
badboychik
11.07.12
✎
13:30
|
(148) не восьмерка а семерка )) в старой базе у нас юзеры отчеты ждали по часу и думали что это нормально. Перебор по документам практически везде встречаю
|
|||
150
Mikeware
11.07.12
✎
13:32
|
(149) Это у вас соотношение радиусов такое...
|
|||
151
Mikeware
11.07.12
✎
13:33
|
+(150) у меня оперативный отчет больше 30 секунд - уже повод для стыда (оперативный - это неделя), и санкций.
|
|||
152
badboychik
11.07.12
✎
13:47
|
а виртуальные таблицы оборотов и остатков можно вызывать напрямую с SQL-сервера?
|
|||
153
Mikeware
11.07.12
✎
13:51
|
(152) получи текст запроса, да строй...
|
|||
154
Speshuric
11.07.12
✎
14:12
|
(8) Делал отчеты до 20 млн примерно строк. Приходилось резать на кусочки из-за двух ограничений: на клиенте 1С ограничение 2 или 4 ГБ в зависимости от ОС (это примерно до 500 тыс. строк), второе - эксель 2007 больше 2 млн не переваривает, а 2003-й вообще 65к.
Всё работает. |
|||
155
badboychik
11.07.12
✎
14:19
|
сделал щас выгрузку в CSV, 146 тысяч строк - выполнение запроса + выгрузка в файл делаются за пару минут. Правда файл получается 50 МБ
|
|||
156
badboychik
11.07.12
✎
14:20
|
причем потребление памяти снизилось координально :))) думаю можно было бы и 500-700 тысяч строк выгрузить таким образом
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |