Forum Discussion
Calculating due dates in the future intervals
- 2 years ago
Try checking for null first:
each if [Effective_Date] is null then null else if [Effective_Date] < DateTime.Date(DateTime.LocalNow()) then "NONE" else if Date.IsInNextNDays([Effective_Date], 30) then "dueNext30" else if Date.IsInNextNDays([Effective_Date], 60) then "dueNext60" else if Date.IsInNextNDays([Effective_Date], 90) then "dueNext90" else if Date.IsInNextNDays([Effective_Date], 120) then "dueNext120" else "due>120"
I like that 🙂 I'll build a test today and see how it works. Is there a way to bucket it for > 120 days so I can just lump everything that isnt 30/60/90/120 into that bucket?
Try this. It returns "NONE" if Effective_Date is less than today, and "due>120" in the ELSE clause.
each
if [Effective_Date] < DateTime.Date(DateTime.LocalNow()) then
"NONE"
else if Date.IsInNextNDays([Effective_Date], 30) then
"dueNext30"
else if Date.IsInNextNDays([Effective_Date], 60) then
"dueNext60"
else if Date.IsInNextNDays([Effective_Date], 90) then
"dueNext90"
else if Date.IsInNextNDays([Effective_Date], 120) then
"dueNext120"
else
"due>120"
- gemcityzach2 years ago
Helper IV
I'm getting all kinds of errors, particularly for dates that are now in the past or even in the near future (90 days out). Any thoughts on resolving that?
= Table.AddColumn(#"Changed Type", "dueNext30", each if Date.IsInNextNDays([Effective_Date], 30) & [Effective_Date] <> "null" then
"dueNext30"
else if Date.IsInNextNDays([Effective_Date], 60) & [Effective_Date] <> "null" then
"dueNext60"
else if Date.IsInNextNDays([Effective_Date], 90) & [Effective_Date] <> "null" then
"dueNext90"
else if Date.IsInNextNDays([Effective_Date], 120) & [Effective_Date] <> "null" then
"dueNext120"
else
"NONE")- DataInsights2 years ago
Super User
Try checking for null first:
each if [Effective_Date] is null then null else if [Effective_Date] < DateTime.Date(DateTime.LocalNow()) then "NONE" else if Date.IsInNextNDays([Effective_Date], 30) then "dueNext30" else if Date.IsInNextNDays([Effective_Date], 60) then "dueNext60" else if Date.IsInNextNDays([Effective_Date], 90) then "dueNext90" else if Date.IsInNextNDays([Effective_Date], 120) then "dueNext120" else "due>120"