PowerBI-DirectQuery — отделяет время от даты и времени

#powerbi-desktop

#PowerBI-рабочий стол

Вопрос:

в настоящее время у меня есть DirectQuery, настроенный на сервере SQL. Там вы найдете поле в формате «dd.mm.yy H: i: s».

Возможно ли отделить время от даты? Чтобы я мог установить фильтр?

Комментарии:

1. покажите некоторые примеры данных и ожидаемый результат от них.

2. Это содержимое из поля базы данных «30.09.2020 15:11:19» — я хочу отделить «15:11:19» от этого…

Ответ №1:

Если ваше имя столбца — DateTime, вы можете отделить время от них в редакторе запросов Power. Просто добавьте пользовательский столбец с указанным ниже кодом-

 = Time.From([DateTime])
  

введите описание изображения здесь

ВАРИАНТ 2

Вы также можете разделить значение с помощью пробела (» «), который разделит дату и время в столбце 2 в power query-

введите описание изображения здесь

Вывод будет таким, как показано ниже-

введите описание изображения здесь

Ответ №2:

К сожалению, то, что предлагает mkRabbani, не работает с подключением DirectQuery — вы не можете разделить столбец или использовать «Время.Из ()» и сохранить DirectQuery — Power BI немедленно предложит перейти в режим импорта, чтобы применить изменения…

Если вам это нужно не на уровне запроса мощности, а на уровне модели, вы можете создать вычисляемый столбец, который будет равен вашему исходному столбцу даты и времени. Затем для этого вычисляемого столбца может быть установлен тип данных даты или времени.

Миро.

Ответ №3:

Если мы хотим отделить дату и время от столбцов DateTime в DirectQuery, вы можете сделать это, изменив SQL-запрос при импорте данных.

Перейдите в редактор запросов Power и нажмите на значок настроек в разделе Примененные шаги.

Настройка источника данных

Затем нажмите на дополнительные параметры в настройках базы данных SQL Server и добавьте приведенную ниже инструкцию SQL для вашей таблицы. Измените имя столбца на основе имени столбца вашей таблицы

 SELECT *,
     [CreateDate_Date] = CONVERT(date, [CreateDate]),
     [CreateDate_Time]  = CONVERT(time, [CreateDate])
FROM     [dbo].[Table] 
  

SQL-запрос

Выберите имя сервера и базы данных и нажмите Ok