2017-01-17 16 views
0

У меня есть запрос, который я хотел бы фильтровать по новому столбцу даты, который я создал.PowerBI: Фильтровать по дате

В принципе, все, что на 42 дня раньше, чем эта дата, принимается.

Я пробовал делать фильтр по дате, а затем вычитал его на 42, но он не работает?

let 
    #"SQL-JM" = let 
    Source = Sql.Databases("xxx.xxx.xxx.xxx"), 
    MNH = Source{[Name="DBT"]}[Data], 
    #"DBO-JM" = DBT{[Schema="dbo",Item="DBO-JM"]}[Data] 
in 
    #"DBO-JM", 
    #"Added Custom1" = Table.AddColumn(#"DBO-JM", "Start_of_QTR", each Date.StartOfQuarter(DateTime.LocalNow())), 
in 
    #"Filtered Rows" 

ответ

2

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

Я бы сделал так:

let 
    #"SQL-JM" = let 
    Source = Sql.Databases("xxx.xxx.xxx.xxx"), 
    MNH = Source{[Name="DBT"]}[Data], 
    #"DBO-JM" = DBT{[Schema="dbo",Item="DBO-JM"]}[Data], 
    GetFilterDate = Date.From(Date.StartOfQuarter(DateTime.LocalNow())), //You can use any logic to get that date 
    FilterRows = Table.SelectRows(#"DBO-JM", each [DateStamp] < GetFilterDate) //You can also add some modifications to GetFilterDate using each row's values, if you need 
in 
    FilterRows 
+0

Он говорит: Мы не можем применить оператор <к типам DateTime и дата – R0b0tn1k

+1

@ R0b0tn1k Тогда либо преобразовать тип столбца [DATESTAMP] для DateTime, или (если он содержит только даты), wrap 'GetFilterDate' в' Date.From() ': ' GetFilterDate = Date.From (Date.StartOfQuarter (DateTime.LocalNow())), ' – Eugene

+1

@ R0b0tn1k Я изменил ответ, GetFilterDate' теперь содержит дату, как сказано в ее названии. – Eugene

1

Предположим, что вы хотите, чтобы фильтровать по DateStamp колонку, которая 42 дней раньше, чем Start_of_QTR принято, вы можете добавить следующую строку после # строка «Добавлено Custom1»:

#"Filtered Rows" = Table.SelectRows(#"Added Custom1", each [DateStamp] < Date.AddDays([Start_of_QTR], -42)) 

 Смежные вопросы

  • Нет связанных вопросов^_^