
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.03.2008, 16:08
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
Добрый день. Какие проблемы возникают при группировке по вычисляемым по функции столбцам? Как только создаю группу по функции, уже при просмотре retrieve тянется "годами", а Suppress Repeating Values начинает брехать. Что подскажете? Кроме,конечно, варианта совать разобранную функцию в SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2008, 16:14
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
umnik_netДобрый день. Какие проблемы возникают при группировке по вычисляемым по функции столбцам? Как только создаю группу по функции, уже при просмотре retrieve тянется "годами", а Suppress Repeating Values начинает брехать. Что подскажете? Кроме,конечно, варианта совать разобранную функцию в SQL? По глобальным функциям? Они вычисляются каждый раз, когда понадобятся а не 1 раз чтобы получить значение и запомнить, соответственно при их использовании все работает гораздо дольше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2008, 10:19
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
Да нет, функции-то локальные. Созданные просто для упрощения жизни и экономии места. Почти элементарный Case. Как только попадает в группу - все, время растет с 0,5с до 10-12мин. Если функцию выкладывать в SQL-запрос - в принципе, нормально, но как-то тупо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.03.2008, 11:00
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
umnik_netДа нет, функции-то локальные. Созданные просто для упрощения жизни и экономии места. Почти элементарный Case. Как только попадает в группу - все, время растет с 0,5с до 10-12мин. Если функцию выкладывать в SQL-запрос - в принципе, нормально, но как-то тупо... Я говорю про глобальные функции PowerBuilder. Что Вы имеете ввиду под локальными функциями - не ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2008, 16:46
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
Функции элементов управления... А как их иначе называть? Не оконные, а функции приложения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2008, 17:59
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
umnik_netФункции элементов управления... А как их иначе называть? Не оконные, а функции приложения... Каких элементов? Каким образом из DataWindow можно вызвать функцию приложения (я напоминаю, что в PowerBuilder'е есть объект application). Пожалуйста ознакомьтесь с официальной версией именования объектов и функций в системе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 09:02
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
Подробнее: Есть обычный запрос для DW SELECT distinct NZP_ZEX.data_nzp, NZP_ZEX.zex, NZP_ZEX.kol_a+ NZP_ZEX.kol_sn as kol, rtrim(NZP_ZEX.spz) as spz, NZP_ZEX.izd, mat.mat_n, mat.bch, spr_ed.naim, case when kol_a>0 then zen_mat.zena_SOK when kol_sn>0 then (case when mat.kod_mat in ( select izd from nzp_arxiw_repl where dat_v= left(convert(char, DATEADD(month ,-1,cast( right( :datn,2) +left( :datn,2)+'01' as smalldatetime)),12),2) + substring(convert(char, DATEADD(month ,-1,cast( right( :datn,2) +left( :datn,2)+'01' as smalldatetime)),12),3,2)and zex=NZP_ZEX.zex and uch='98' ) then (select distinct (st_komp+st_os_mat+st_ws_mat) from nzp_arxiw_repl where dat_v= left(convert(char, DATEADD(month ,-1,cast( right( :datn,2) +left( :datn,2)+'01' as smalldatetime)),12),2) + substring(convert(char, DATEADD(month ,-1,cast( right( :datn,2) +left( :datn,2)+'01' as smalldatetime)),12),3,2) and mat.kod_mat = izd and zex=NZP_ZEX.zex and uch='98') else zen_mat.zena_SOK end ) else zen_mat.zena_SOK end as zena, inv_op.preds, inv_op.chl_kom FROM NZP_ZEX, mat, spr_ed, zen_mat , inv_op WHERE ( NZP_ZEX.izd = mat.nomn ) and ( mat.kev = spr_ed.k_ed ) and ( mat.kod_mat *= zen_mat.kod_mat ) and ( NZP_ZEX.data_nzp = inv_op.data_nzp ) and ( NZP_ZEX.zex = inv_op.zex ) and ( NZP_ZEX.uch = inv_op.uch )and ( ( NZP_ZEX.data_nzp = :datn ) AND ( NZP_ZEX.uch = '98' ) AND ( NZP_ZEX.kol_a+ NZP_ZEX.kol_sn > 0 ) ) и есть вычисляемое поле, основанное на функции вычисления балансового счета CHOOSE CASE bs case '1' bs='10.1' case '2' bs='1012' case '3' bs='10.2' case '4' bs='10.4' case '5' bs='10.9' case '6' bs='10.6' case '7' bs='10.3' case '8' bs='10.5' case '0' bs='10.9' case '9' bs ='10.9' END CHOOSE return bs При группировке по этому полю все веселье и начинается. Запрос, который выполняется доли секунды, висит по 10-15 мин. И еще раз вопрос: в принципе можно использовать такие поля для группировки или придумывать что-то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 09:14
|
|||
|---|---|---|---|
Группировки |
|||
|
#18+
umnik_net... И еще раз вопрос: в принципе можно использовать такие поля для группировки или придумывать что-то еще?ИМХО, не надо городить огород там, где уже есть полисад... (с) Русская народная пословица Вынесите свои соответствия балансовых счетов в таблицу в базе, присоедините ее к запросу и не мучайтесь... И никаких проблем с группировкой не возникнет. Табличка то с двумя полями всего! idbs110.121012310.2410.4510.9610.6710.3810.5010.9910.9И, в дальнейшем, если кол-во или соответствие ваших балансовых счетов изменится, то не придется править приложение, достаточно будет поправить таблицу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 09:30
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
Ikar И, в дальнейшем, если кол-во или соответствие ваших балансовых счетов изменится, то не придется править приложение, достаточно будет поправить таблицу... +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 09:31
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
Ну, вообще-то, это был простейший вариант. А на более сложных фунциях плодить таблицы с их перерасчетом?? Я про сам факт использования группировки по функциональному полю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 09:37
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
И первый мой совет поясняет причину происходящего (не касаясь особенностей реализации). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 10:27
|
|||
|---|---|---|---|
Группировки |
|||
|
#18+
umnik_netНу, вообще-то, это был простейший вариант. ...В смысле "мы не ищем легких путей", чтоли? ЗЫ В общем то Марк все сказал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 10:35
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
А что нам легкие пути? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 10:50
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
А кто-то понял, что такое функции элементов управления, они же локальные функции, и как они вызываются из DW ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.03.2008, 10:51
|
|||
|---|---|---|---|
Группировки |
|||
|
#18+
Anatoly MoskovskyА кто-то понял, что такое функции элементов управления, они же локальные функции, и как они вызываются из DW ?Я так понял, что имеются ввиду обычные глобальные функции, безо всяких элементов управления и иже с ними... ИМХО... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.03.2008, 10:28
|
|||
|---|---|---|---|
|
|||
Группировки |
|||
|
#18+
А мне кажется,что причины начинаются с сортировки,а не с группировки. Колличество записей большое,записи длинные(предполагаю). Вы попробуйте после ретрива сделать сортировку по выч.полю,с какой-нибудь временной кнопки,setsort там,sort пропишите,посмотрите,не застрянет ли.Курсор на песочные часы поменяйте,для наглядности setpointer(hourglass!). Если застрянет,значит,такова жизнь,группировку,по другому как-то делать надо. А как,это уже другая тема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=15&mobile=1&tid=1336733]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 162ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...