Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
Maksmanz
Member

Откуда:
Сообщений: 5
Ребят, помогите с датой в сводной таблицей - перепробовал все пути решения, которые нашел, но ничего не помогает.

Вставляю сводную таблицу с источником данных, ссылающийся на SQL Server.

При этом в сводной таблице дата отображается списком, т.е как текст, а не иерархией: год + месяц + день.

Изменение формата на дату в ячейке сводной таблицы не работает, но если скопировать дату из сводной таблицы на отдельную ячейку и нажать enter внутри ячейки, то она преобразовывается в нужный формат.

Также если вставить данные в эксель просто копипастом из таблицы SQL, то такой проблемы нет, дата сразу отображается нормально.

Подскажите, пожалуйста, в чем может быть дело?
15 ноя 19, 12:33    [22017029]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
p_vadik
Member

Откуда:
Сообщений: 26
Maksmanz,

Чтобы Excel понял, что это дата, тебе нужно в скрипте загрузки сконвертировать дату в нужный для Excel формат.

Мне convert в свое время помог решить эту проблему.

https://docs.microsoft.com/ru-ru/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver15
15 ноя 19, 13:07    [22017094]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
Maksmanz
Member

Откуда:
Сообщений: 5
p_vadik,

А можете, пожалуйста, чуть подробнее рассказать как нужно сделать?

У меня в исходной базе данных дата в формате "2019-07-24 00:00:00.000", далее я в запросе делаю FORMAT([Дата транзакции], 'd', 'de-de') as [Дата транзакции], после чего дата преобразуется в формат "24.07.2019" и собственно эксель и ссылается на эту вьюшку с преобразованной датой.
Как в этом случае поступить с CONVERT?

Заранее спасибо!
15 ноя 19, 14:36    [22017274]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
iap
Member

Откуда: Москва
Сообщений: 46977
Maksmanz
У меня в исходной базе данных дата в формате "2019-07-24 00:00:00.000"
Наверно, это текстовый формат даты, который показывает какой-то клиент (MS SQL Server Management Studio?). Формат хранения самой даты на сервере, конечно же, не такой...
15 ноя 19, 14:43    [22017287]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
Maksmanz
Member

Откуда:
Сообщений: 5
iap,

да, это MS SQL Server Management Studio)
15 ноя 19, 15:45    [22017408]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
vladK
Member

Откуда: Харьков
Сообщений: 823
То как Эксель понимает дату зависит скорее всего от локализации системы. Посмотрите какие форматы для даты предлагает Эксель (если целевая система доступна для Вас) и попробуйте отформатировать дату соответственно.
15 ноя 19, 15:46    [22017410]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
iiyama
Member

Откуда:
Сообщений: 642
Maksmanz
p_vadik,
далее я в запросе делаю FORMAT([Дата транзакции]


FORMAT (Transact-SQL)
Return Types
nvarchar or null

Вы приводите дату к строке и потом удивляетесь, парадокс
15 ноя 19, 16:32    [22017535]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
Maksmanz
Member

Откуда:
Сообщений: 5
iiyama,

Делаю CONVERT(date, [Дата транзакции]), но эксель все равно не воспринимает это как дату.

Вы знаете, в чем же может быть дело?
15 ноя 19, 16:40    [22017552]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Maksmanz,

вообще эксель достаточно туповато определяет тип поля, начиная от перебора первых N строк в колонке(это в принципе регулируется реестром) но и это не всегда решает, выгружайте в бинарный формат
15 ноя 19, 16:47    [22017562]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
p_vadik
Member

Откуда:
Сообщений: 26
Maksmanz
iiyama,

Делаю CONVERT(date, [Дата транзакции]), но эксель все равно не воспринимает это как дату.

Вы знаете, в чем же может быть дело?


У CONVERT есть стили, в этом и был смысл.
Попробуйте CONVERT(date, [Дата транзакции], 126), но 126 - это не точно)

P.S. если нужно сохранить время, то вместо date нужно использовать datetime.
15 ноя 19, 16:51    [22017566]     Ответить | Цитировать Сообщить модератору
 Re: Неправильный формат даты в сводной Excel при подключении к MS SQL Server  [new]
vladK
Member

Откуда: Харьков
Сообщений: 823
У меня иерархия появилась только когда CAST([Дата] as datetime)
15 ноя 19, 17:20    [22017620]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить