#powerbi #powerquery
Вопрос:
с самой ранней датой-2021 1 августа в 12 часов утра с шагом 30 минут, а максимальная дата-время.LocalNow()?
Ожидаемый Результат
08/01/2021 12:00:00 AM 08/01/2021 12:30:00 AM 08/01/2021 01:00:00 AM
Код
Source = List.DateTimes(#datetime(2021, 08, 01, 00, 00, 0), Duration.Days(Duration.From(DateTime.Date(DateTime.LocalNow())-(#datetime(2021, 08, 01, 00, 00, 0)))), #duration(0, 0, 30, 0)), #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
Но я не думаю, что это правильный путь. Кроме того, я все равно получаю эту ошибку
Expression.Error: We cannot apply operator - to types Date and DateTime. Details: Operator=- Left=10/20/2021 Right=8/1/2021 12:00:00 AM
Комментарии:
1. Это ошибка srouse:
DateTime.Date(DateTime.LocalNow())-(#datetime(2021, 08, 01, 00, 00, 0))
. Не преобразуйтеDateTime.LocalNow()
сейчас в тип даты, если вы хотите вычесть тип даты и времени. Упростите доDateTime.LocalNow()-#datetime(2021, 08, 01, 00, 00, 0)
.2. Спасибо Алексис Олсон. Заставляет код работать, но я хочу, чтобы с 1 августа по настоящее время каждая дата была указана как 08/01/2021 12:00:00 утра — 08/01/2021 12:30:00 утра -08/01/2021 01:00:00 Я
Ответ №1:
Используйте следующий код M в запросе питания. Это даст 100 дат. Вы можете установить размер шага 100 в соответствии с требуемым значением.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMtQ1sNQ1MlAwNLIyMAAipdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Datetime = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Datetime", type datetime}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each DateTime.LocalNow()), #"Changed Type1" = Table.TransformColumnTypes(#"Added Custom",{{"Custom", type datetime}}), #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"Datetime", "Starttime"}, {"Custom", "Endtime"}}), #"Added Custom1" = Table.AddColumn(#"Renamed Columns", "Dates", each List.DateTimes([Starttime], 100, #duration(0, 0, 30, 0))), #"Expanded Dates1" = Table.ExpandListColumn(#"Added Custom1", "Dates") in #"Expanded Dates1"
Комментарии:
1. Это не дает мне даты и времени, хотя — только дату
2. Я отредактировал ответ