AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2009, 16:16   #1  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
Дата Действия Сервиса без времени
Подскажите пожалуйста как в Sql запросе получить дату действия сервиса без времени
Старый 14.07.2009, 16:27   #2  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
Цитата:
Сообщение от Elka Посмотреть сообщение
Подскажите пожалуйста как в Sql запросе получить дату действия сервиса без времени
Все, разобралась
SELECT CONVERT(nvarchar(30), GETDATE(), 103)
Старый 14.07.2009, 20:44   #3  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Ну, если вы хотели ее только показать без времени, то можно было воспользоваться функцией Format. Прочитайте полраздел Formatting Content в разделе Report Writers Guide в SDK. Делать это через SQL не слишком удобно, тем более превращая даты в числа вы теряете ряд удобств: например неправильно будет работать сортировка.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 21.07.2009, 12:17   #4  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Ну, если вы хотели ее только показать без времени, то можно было воспользоваться функцией Format. Прочитайте полраздел Formatting Content в разделе Report Writers Guide в SDK. Делать это через SQL не слишком удобно, тем более превращая даты в числа вы теряете ряд удобств: например неправильно будет работать сортировка.
Большое спасибо.. Сортировать действительно очень хочется..Можно еще вопрос: я воспользовалась вашим советом и использовала функцию Format. Дата выводится теперь без времени, однако значения в одну и ту же дату теперь не суммируются, а выводятся по отдельности.. Можно как-нибудь это исправить?
Миниатюры
Нажмите на изображение для увеличения
Название: отчет.jpg
Просмотров: 379
Размер:	16.9 Кб
ID:	4916  
Старый 21.07.2009, 13:38   #5  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Их нужно суммировать в скуле
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 21.07.2009, 13:42   #6  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
А до этого вы их как суммировали? Вы наверно имеете в виду группировку. Ее тоже можно делать прямо в отчете, но для подобных операций, действительно, рекомендуется использовать SQL.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 21.07.2009, 13:51   #7  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
А до этого вы их как суммировали? Вы наверно имеете в виду группировку. Ее тоже можно делать прямо в отчете, но для подобных операций, действительно, рекомендуется использовать SQL.
До этого в SQL запросе я дату преобразовывала так SELECT CONVERT(nvarchar(30), Scheduledstart, 103) , часы группировались по дням (суммировались).. Однако с сортировкой было грустно..записи из разных месяцев перемешивались.. Тогда я по вашему совету воспользовалась
=First(Fields!DateFormat.Value, "DSNumandCurrency").. с сортировкой вроде наладилось..поламалась группировка..
А как все починить не понимаю...

Последний раз редактировалось Elka; 21.07.2009 в 13:55.
Старый 21.07.2009, 14:02   #8  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
а привести весь скуль можете?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 21.07.2009, 14:13   #9  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
а привести весь скуль можете?
Чисто интуитивно подозреваю, что под "скулем" имеется ввиду это :

(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  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
что то типа этого
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  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
что то типа этого
X++:
SELECT
OwnerIdName,
Scheduledstart as days,
Count(New_temaName) as 'Количество'
FROM
FilteredServiceAppointment AS CRMAF_FilteredServiceAppointment
GROUP BY OwnerIdName, Scheduledstart
не знаю зачем Вам другие поля - на отчете их не вижу...
Соответственно OwnerIdName в строки, а Scheduledstart в столбцы, а 'Количество' в ячейки
Спасибо вам за помощь..однако он все равно неправильно группирует..наверно потому что в sql на момент группировки days еще со временем, и форматируется оно лишь при выводе..
В поле New_dlit, хранится количество отработанных часов..а New_temaName, ServiceIdName -действительно лишние
Старый 21.07.2009, 15:06   #12  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Так Вам время нужно отсечь оно же вам не нужно?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 21.07.2009, 15:14   #13  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Попробкйте так (скуль пока трогать не будем). Щелкните правой кнопокй по заголовку группы в столбце и выберите Едит груп. В секции Групп он щелкните по выражению и и выберите Експрешн (чтобы отредактировать его) - т.е. отредактировать, то по чему будем группировать. А теперь нужно использовать функцию датывремени и отобрать только дату вроде так
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 21.07.2009, 15:18   #14  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
А если на уровне скуля хотите и чтобы нормально сортировалось... попробуйте так:
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  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Рекомендую использовать для получения и форматирования данный следующий запрос:

Код:
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  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
Цитата:
Сообщение от 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  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Вот только есть у 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  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Вот только есть у CRM один известный дефект: если в запросе используются и группировки и фильтрация, то такой отчет может врать. Дело в том, что конструкция вида Select * From FilteredView AS CRMAF_fw будет заменена системой на нечто вроде Select * From (select * From <фильтр пользователя>). В этом случае в результате группировки може получиться совсем не то, на что расчитывал разработчик.
Спасибо, что предупредили...Я буду за ним пристально следить..
Теги
filter, t-sql, reporting services, report

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Действия сервиса Elka Dynamics CRM: Функционал 20 12.06.2009 03:12
Текущая дата в бизнес-процессе Elka Dynamics CRM: Разработка 7 01.06.2009 11:54
Как в шаблон эл. почты выводить дату без времени? vital.mih Dynamics CRM: Функционал 2 14.05.2009 18:09
Строка сервисного контракта: работает ли ограничение по срокам действия? Lazarus Dynamics CRM: Функционал 1 10.04.2009 08:04
Автоматическое создание Действий сервиса Александр Соловьев Dynamics CRM: Функционал 4 24.01.2008 09:08

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:03.