Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Группировка даты в excel / 13 сообщений из 13, страница 1 из 1
08.05.2018, 08:44
    #39641789
arslanov_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
Доброго времени суток. Проконсультируйте пожалуйста. Подключаюсь через excel к sql server к определенному представлению, при

выгрузке все данные, я так понимаю выгружаются в текстовом виде, в том числе и дата, которую необходимо группировать

по году/месяцу/дню/часам через "+". Какое можно найти решение, для того чтобы была группировка для "Время разрешения" и

"Фактическое разрешение", если я использую ISNULL при выводе для пустых ячеек? CONVERT и СAST внутри ISNULL работают не

корректно, появляется дата "1900-01-01 00:00:00" вместо пустых значений. CONVERT и CAST писал без FORMAT. Код прилагаю.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT
[Case].Number "Номер",
CaseStatus.Name "Состояние",
Symptoms "Описание",
ISNULL(FORMAT(SolutionDate, 'dd/MM/yyyy hh:mm'), '') "Время разрешения",
ISNULL(FORMAT(SolutionProvidedOn, 'dd/MM/yyyy hh:mm'), '') "Фактическое разрешение",
FROM
[Case] LEFT JOIN
CaseStatus ON CaseStatus.Id = [Case].StatusId LEFT JOIN
...
Рейтинг: 0 / 0
08.05.2018, 09:15
    #39641802
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
arslanov_a, а ISNULL точно нужен? как у вас null выгружается в excel?
...
Рейтинг: 0 / 0
08.05.2018, 10:02
    #39641833
arslanov_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
шК0ДЕР,

Да нужен, ISNULL необходим для вывода пустых значений, по коду выше вместо значений null выводится ''. Группировка должна

появится в фильтрах шапках таблиц в excel.
...
Рейтинг: 0 / 0
08.05.2018, 10:28
    #39641857
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
arslanov_a,
Код: sql
1.
group by isnull(SolutionDate, ''), isnull(SolutionProvidedOn, '')

?
...
Рейтинг: 0 / 0
08.05.2018, 10:32
    #39641863
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
Если я правильно понимаю, при установке фильтрации в Excel будет происходить обращение к БД.
Зачем?
Верните набор данных 1 раз и фильтруйте их в самом Excel хоть 100500 раз. Это намного быстрее и не будет загружать БД
...
Рейтинг: 0 / 0
08.05.2018, 10:52
    #39641874
iiyama
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
arslanov_a,

Только мне показалось странным, что вы дату/время переводите в строку, чтобы потом Excel обрабатывал ее как дату/время? Вы на 100% уверены, что Ваша строка на компьютере с другими региональными настройками будет восприниматься как дата/время?

ПиЭс. Какая у Вас версия Excel? Вы используете Power Bi 4 Excel или просто выгружаете через загрузку из [Других источников], а потом обрабатываете?
...
Рейтинг: 0 / 0
08.05.2018, 11:19
    #39641890
arslanov_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
шК0ДЕР,
шК0ДЕРarslanov_a,
Код: sql
1.
group by isnull(SolutionDate, ''), isnull(SolutionProvidedOn, '')

?

это просто группировка данных. Я создаю представление из нескольких таблиц в sql server, группировку надо настроить именно там,

для дальнейшей выгрузки в excel.

Вот так будет работать группировка,

Код: sql
1.
ISNULL(CONVERT(smalldatetime, SolutionProvidedOn), '') "Время разрешения" 



но вместо значений null будет '1900-01-01 00:00:00', а нужно ''
...
Рейтинг: 0 / 0
08.05.2018, 11:26
    #39641901
arslanov_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
iiyamaarslanov_a,

Только мне показалось странным, что вы дату/время переводите в строку, чтобы потом Excel обрабатывал ее как дату/время? Вы на 100% уверены, что Ваша строка на компьютере с другими региональными настройками будет восприниматься как дата/время?

ПиЭс. Какая у Вас версия Excel? Вы используете Power Bi 4 Excel или просто выгружаете через загрузку из [Других источников], а потом обрабатываете?

Если вы имеете ввиду FORMAT, то он необходим для работы со значением null. Стандартный excel 2016, из [Других источников], далее

подключаюсь к БД и выгружаю
...
Рейтинг: 0 / 0
08.05.2018, 11:56
    #39641928
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
arslanov_aВот так будет работать группировка,
Код: sql
1.
ISNULL(CONVERT(smalldatetime, SolutionProvidedOn), '') "Время разрешения" 

но вместо значений null будет '1900-01-01 00:00:00', а нужно ''
Потому что тут имеет место неявное преобразование типов - из строки в дату, а потом из даты в строку
...
Рейтинг: 0 / 0
08.05.2018, 11:59
    #39641930
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
Вам оно действительно нужно?
Как осуществляется присваивание значений в ячейках Excel? Там есть метод с автоматическим подбором формата, а есть без него, напрямую как есть. Т.е если вам не делать преобразований isnull(convert(smalldatetime, ...), '') текст будет занесен в ячейку текстом и не будет видоизменен
...
Рейтинг: 0 / 0
08.05.2018, 12:51
    #39641965
iiyama
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
arslanov_aно вместо значений null будет '1900-01-01 00:00:00', а нужно ''

У Вас 16й офис, а делаете как в 2003м. Используйте PowerQuery и не нужно никаких преобразований туда-сюда
...
Рейтинг: 0 / 0
08.05.2018, 13:56
    #39642006
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
arslanov_aCONVERT и СAST внутри ISNULL работают не

корректно, появляется дата "1900-01-01 00:00:00" вместо пустых значенийКорректно; проверить можно за 5 секунд.
Код: sql
1.
2.
3.
declare @dt datetime
set @dt = null
select FORMAT(@dt, 'dd/MM/yyyy hh:mm'), ISNULL(FORMAT(@dt, 'dd/MM/yyyy hh:mm'), '')

Разбирайтесь с получением, форматом и отображением данных в Экселе.
...
Рейтинг: 0 / 0
08.05.2018, 15:50
    #39642089
arslanov_a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка даты в excel
Всем спасибо за помощь, нашел 2 решения.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Группировка даты в excel / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]