Группировка по кварталам все года - как лучше? (проще)

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Ответить
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Группировка по кварталам все года - как лучше? (проще)

Сообщение Александр »

Код: Выделить всё

if(req_dbegin<=date(string(f_MonthDayCount(3 ,2006))+'.03.2006'),'2006 1й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(6 ,2006))+'.06.2006'),'2006 2й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(9 ,2006))+'.09.2006'),'2006 3й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(12 ,2006))+'.12.2006'),'2006 4й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(3 ,2007))+'.03.2007'),'2007 1й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(6 ,2007))+'.06.2007'),'2007 2й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(9 ,2007))+'.09.2007'),'2007 3й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(12 ,2007))+'.12.2007'),'2007 4й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(3 ,2008))+'.03.2008'),'2008 1й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(6 ,2008))+'.06.2008'),'2008 2й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(9 ,2008))+'.09.2008'),'2008 3й квартал',
if(req_dbegin<=date(string(f_MonthDayCount(12 ,2008))+'.12.2008'),'2008 4й квартал',
'')))) )))) ))))
это колонка для группировки по кварталам - отчет просто вешается - не подскажите более красивое решение? а главное быстрое! :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Сообщение Anderyt »

год можно вычислить через

Код: Выделить всё

year(req_dbegin)
квартал:

Код: Выделить всё

ceiling(month(req_dbegin)/3)
и потом видимо их сцепить в одну строку в нужном для отчета формате...
и с наступлением нового квартала скорее всего ничего в отчете изменять не придется
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

нет видимо я непонятно сформулировал

есть большой отчет по всем годам - и его нужно просто группировать по кварталам

вот та формула - она работает в колонке и вроде не тормозит (в ней я получаю название квартала)

а вот как только я начинаю группировать по этой колонке - отчет выполняется на Порядок больше по времени - не знаю с чем связано.
Вроде простая колонка - в колонке текст с названием квартала и все

не объяснишь - а что ты имел в виду под ceiling(month(req_dbegin)/3)?

основные тормоза у меня в том что я каждый раз вычисляю количество дней в ключевых месяцах - вот как-бы это ускорить?
т.е. просто формулу переписать там через case или еще как

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Сообщение Anderyt »

вот я как раз так и понял, что надо формулу по другому написать..
в общем..
если в формуле написать вот это:

Код: Выделить всё

year(req_dbegin) + ' '+ ceiling(month(req_dbegin)/3)+'й квартал'
то должно получится примерно то же самое, что и сейчас..
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

:wink: :wink: Спасибо!

ps
отчет навороченный - и что-то после маленьких изменений - все время сбрасывается (до девственно чистого состояния)- хорошо копия есть - ужас просто!

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

СУПЕР! все работает! Скажи а високосный год - нормально разобьётся по кварталам?

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

Слушай Андрей - можно я тебя еще поэксплуатирую? :wink:

а не подскажешь - какой формулой сделать тоже самое но вплоть до месяцев кварталов

т.е. например '2008 г. 1й месяц 1го квартала'

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Сообщение Anderyt »

быстрее хоть стало? ;-)
по идее тоже должен високосный сработать.. в нем же то же кол-во месяцев, что и в обычном году..
здесь используется именно месяц, его номер.
потом его делим на три и округляем до 1-го целого в сторону увеличения... вроде так...
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Сообщение Anderyt »

Код: Выделить всё

year(req_dbegin) + ' г. '+month(req_dbegin)+'й месяц '+ ceiling(month(req_dbegin)/3)+'го квартала' 
блин, 3 раза уже не удается отправить.
магнитная буря, не иначе...
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

быстрее стало - ровно в 23 раза! и группировка не тормозит (может действительно день такой) :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Ответить