14.07.2009, 16:16 | #1 |
Участник
|
Дата Действия Сервиса без времени
Подскажите пожалуйста как в Sql запросе получить дату действия сервиса без времени
|
|
14.07.2009, 16:27 | #2 |
Участник
|
|
|
14.07.2009, 20:44 | #3 |
Moderator
|
Ну, если вы хотели ее только показать без времени, то можно было воспользоваться функцией Format. Прочитайте полраздел Formatting Content в разделе Report Writers Guide в SDK. Делать это через SQL не слишком удобно, тем более превращая даты в числа вы теряете ряд удобств: например неправильно будет работать сортировка.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
21.07.2009, 12:17 | #4 |
Участник
|
Цитата:
Сообщение от Артем Enot Грунин
Ну, если вы хотели ее только показать без времени, то можно было воспользоваться функцией Format. Прочитайте полраздел Formatting Content в разделе Report Writers Guide в SDK. Делать это через SQL не слишком удобно, тем более превращая даты в числа вы теряете ряд удобств: например неправильно будет работать сортировка.
|
|
21.07.2009, 13:38 | #5 |
Консультант-джедай
|
Их нужно суммировать в скуле
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
21.07.2009, 13:42 | #6 |
Moderator
|
А до этого вы их как суммировали? Вы наверно имеете в виду группировку. Ее тоже можно делать прямо в отчете, но для подобных операций, действительно, рекомендуется использовать SQL.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
21.07.2009, 13:51 | #7 |
Участник
|
Цитата:
=First(Fields!DateFormat.Value, "DSNumandCurrency").. с сортировкой вроде наладилось..поламалась группировка.. А как все починить не понимаю... Последний раз редактировалось Elka; 21.07.2009 в 13:55. |
|
21.07.2009, 14:02 | #8 |
Консультант-джедай
|
а привести весь скуль можете?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
21.07.2009, 14:13 | #9 |
Участник
|
Чисто интуитивно подозреваю, что под "скулем" имеется ввиду это :
(Intellectika_MSCRM): SELECT New_dlit,OwnerIdName, New_temaName, ServiceIdName , Scheduledstart as days FROM FilteredServiceAppointment AS CRMAF_FilteredServiceAppointment (DSNumandCurrency): USE Intellectika_MSCRM SELECT * FROM dbo.fn_GetFormatStrings() |
|
21.07.2009, 14:41 | #10 |
Консультант-джедай
|
что то типа этого
X++: SELECT OwnerIdName, Scheduledstart as days, Count(New_temaName) as 'Количество' FROM FilteredServiceAppointment AS CRMAF_FilteredServiceAppointment GROUP BY OwnerIdName, Scheduledstart не знаю зачем Вам другие поля - на отчете их не вижу... Соответственно OwnerIdName в строки, а Scheduledstart в столбцы, а 'Количество' в ячейки
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
|
За это сообщение автора поблагодарили: Elka (1). |
21.07.2009, 15:05 | #11 |
Участник
|
Цитата:
Сообщение от slivka_83
что то типа этого
X++: SELECT OwnerIdName, Scheduledstart as days, Count(New_temaName) as 'Количество' FROM FilteredServiceAppointment AS CRMAF_FilteredServiceAppointment GROUP BY OwnerIdName, Scheduledstart Соответственно OwnerIdName в строки, а Scheduledstart в столбцы, а 'Количество' в ячейки В поле New_dlit, хранится количество отработанных часов..а New_temaName, ServiceIdName -действительно лишние |
|
21.07.2009, 15:06 | #12 |
Консультант-джедай
|
Так Вам время нужно отсечь оно же вам не нужно?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
21.07.2009, 15:14 | #13 |
Консультант-джедай
|
Попробкйте так (скуль пока трогать не будем). Щелкните правой кнопокй по заголовку группы в столбце и выберите Едит груп. В секции Групп он щелкните по выражению и и выберите Експрешн (чтобы отредактировать его) - т.е. отредактировать, то по чему будем группировать. А теперь нужно использовать функцию датывремени и отобрать только дату вроде так
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
21.07.2009, 15:18 | #14 |
Консультант-джедай
|
А если на уровне скуля хотите и чтобы нормально сортировалось... попробуйте так:
X++: SELECT OwnerIdName, Scheduledstart as FullDateTime, CONVERT(nvarchar(30), Scheduledstart, 104) as days, Count(New_temaName) as 'Количество' FROM FilteredServiceAppointment AS CRMAF_FilteredServiceAppointment GROUP BY OwnerIdName, Scheduledstart ORFER BY Scheduledstart
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
21.07.2009, 16:38 | #15 |
Чайный пьяница
|
Рекомендую использовать для получения и форматирования данный следующий запрос:
Код: SELECT CONVERT(smalldatetime, CONVERT(char(10), Scheduledstart, 112), 112) as days ,Sum(New_dlit) as Dlit ,OwnerIdName From FilteredServiceAppointment AS CRMAF_FilteredServiceAppointment Group By CONVERT(smalldatetime, CONVERT(char(10), Scheduledstart, 112), 112), OwnerIdName Order By CONVERT(smalldatetime, CONVERT(char(10), Scheduledstart, 112), 112) Asc
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Elka (1). |
21.07.2009, 16:39 | #16 |
Участник
|
Цитата:
Сообщение от a33ik
Рекомендую использовать для получения и форматирования данный следующий запрос:
Код: SELECT CONVERT(smalldatetime, CONVERT(char(10), Scheduledstart, 112), 112) as days ,Sum(New_dlit) as Dlit ,OwnerIdName From FilteredServiceAppointment AS CRMAF_FilteredServiceAppointment Group By CONVERT(smalldatetime, CONVERT(char(10), Scheduledstart, 112), 112), OwnerIdName Order By CONVERT(smalldatetime, CONVERT(char(10), Scheduledstart, 112), 112) Asc Спасибо!! Работает!! |
|
21.07.2009, 23:19 | #17 |
Moderator
|
Вот только есть у CRM один известный дефект: если в запросе используются и группировки и фильтрация, то такой отчет может врать. Дело в том, что конструкция вида Select * From FilteredView AS CRMAF_fw будет заменена системой на нечто вроде Select * From (select * From <фильтр пользователя>). В этом случае в результате группировки може получиться совсем не то, на что расчитывал разработчик.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
За это сообщение автора поблагодарили: Elka (1). |
23.07.2009, 15:11 | #18 |
Участник
|
Цитата:
Сообщение от Артем Enot Грунин
Вот только есть у CRM один известный дефект: если в запросе используются и группировки и фильтрация, то такой отчет может врать. Дело в том, что конструкция вида Select * From FilteredView AS CRMAF_fw будет заменена системой на нечто вроде Select * From (select * From <фильтр пользователя>). В этом случае в результате группировки може получиться совсем не то, на что расчитывал разработчик.
|
|