For some reason I can't paste the image so you can see the dropdown with the datepicker objects (for a start and end value)
DateDropdown is a dropdown containing...
["All Items","This Month", "Last Month", "This Year", "Last Year", "x Days Ago", "Custom"]
I have handled all possibilities except the custom one ...
I am setting the value of Start2 and End2 based on the value selected.
UpdateContext({
Start2:
If(DateDropdown.Selected.Value="This Month",Date(Year(Now()),Month(Now()),1),
If(DateDropdown.Selected.Value="Last Month",Date(Year(Now()),Month(Now())-1,1),
If(DateDropdown.Selected.Value="Last Year",Date(Year(Now())-1,1,1),
If(DateDropdown.Selected.Value="x Days Ago",DateAdd(Today(),-Slider1.Value),
Date(Year(Now()),1,1))))),
End2:
If(DateDropdown.Selected.Value="This Month",Date(Year(Now()),Month(Now())+1,0),
If(DateDropdown.Selected.Value="Last Month",Date(Year(Now()),Month(Now()),0),
If(DateDropdown.Selected.Value="Last Year",Date(Year(Now())-1,12,31),
If(DateDropdown.Selected.Value="x Days Ago",Today(),
Date(Year(Now()),12,31)))))
})
So, I want to add ...
If(DateDropdown.Selected.Value="Custom",DateFrom.SelectedDate), and I add an extra ) to the end of the clause and now it barks at me... saying Invalid argument type (date)
UpdateContext({
Start2:
If(DateDropdown.Selected.Value="This Month",Date(Year(Now()),Month(Now()),1),
If(DateDropdown.Selected.Value="Last Month",Date(Year(Now()),Month(Now())-1,1),
If(DateDropdown.Selected.Value="Last Year",Date(Year(Now())-1,1,1),
If(DateDropdown.Selected.Value="x Days Ago",DateAdd(Today(),-Slider1.Value),
If(DateDropdown.Selected.Value="Custom",DateFrom.SelectedDate),
Date(Year(Now()),1,1)))))),
End2:
If(DateDropdown.Selected.Value="This Month",Date(Year(Now()),Month(Now())+1,0),
If(DateDropdown.Selected.Value="Last Month",Date(Year(Now()),Month(Now()),0),
If(DateDropdown.Selected.Value="Last Year",Date(Year(Now())-1,12,31),
If(DateDropdown.Selected.Value="x Days Ago",Today(),
Date(Year(Now()),12,31)))))
})
Solved! Go to Solution.
Because you are compounding If statements, you are missing ending parenthesis.
However, to avoid that confusion, you might want to consider the following formula instead:
UpdateContext(
{
Start2:
Switch(DateDropdown.Selected.Value,
"This Month", Date(Year(Now()), Month(Now()), 1),
"Last Month", Date(Year(Now()), Month(Now())-1, 1),
"Last Year", Date(Year(Now())-1, 1, 1),
"x Days Ago", DateAdd(Today(), -Slider1.Value),
Date(Year(Now()), 1, 1)
),
End2:
Switch(DateDropdown.Selected.Value,
"This Month", Date(Year(Now()), Month(Now())+1, 0),
"Last Month", Date(Year(Now()), Month(Now()), 0),
"Last Year", Date(Year(Now())-1, 12, 31),
"x Days Ago", Today(),
Date(Year(Now()),12,31)
)
}
)
A little easier to read and to change.
I hope this is helpful for you.
Because you are compounding If statements, you are missing ending parenthesis.
However, to avoid that confusion, you might want to consider the following formula instead:
UpdateContext(
{
Start2:
Switch(DateDropdown.Selected.Value,
"This Month", Date(Year(Now()), Month(Now()), 1),
"Last Month", Date(Year(Now()), Month(Now())-1, 1),
"Last Year", Date(Year(Now())-1, 1, 1),
"x Days Ago", DateAdd(Today(), -Slider1.Value),
Date(Year(Now()), 1, 1)
),
End2:
Switch(DateDropdown.Selected.Value,
"This Month", Date(Year(Now()), Month(Now())+1, 0),
"Last Month", Date(Year(Now()), Month(Now()), 0),
"Last Year", Date(Year(Now())-1, 12, 31),
"x Days Ago", Today(),
Date(Year(Now()),12,31)
)
}
)
A little easier to read and to change.
I hope this is helpful for you.
That's so much cleaner...very eloquent - thank you
In case anyone was wondering 😉
Including the datepickers (I didn't need those extra () for that...
UpdateContext({
Start2:
Switch(DateDropdown.Selected.Value,
"This Month",Date(Year(Now()),Month(Now()),1),
"Last Month",Date(Year(Now()),Month(Now())-1,1),
"Last Year",Date(Year(Now())-1,1,1),
"x Days Ago",DateAdd(Today(),-Slider1.Value),
"Custom",DateFrom.SelectedDate,
Date(Year(Now()),1,1)
),
End2:
Switch(DateDropdown.Selected.Value,
"This Month",Date(Year(Now()),Month(Now())+1,0),
"Last Month",Date(Year(Now()),Month(Now()),0),
"Last Year",Date(Year(Now())-1,12,31),
"x Days Ago",Today(),
"Custom",DateTo.SelectedDate,
Date(Year(Now()),12,31)
)
})
Stay up tp date on the latest blogs and activities in the community News & Announcements.
Mark your calendars and join us for the next Power Apps Community Call on January 20th, 8a PST
Dive into the Power Platform stack with hands-on sessions and labs, virtually delivered to you by experts and community leaders.
User | Count |
---|---|
198 | |
178 | |
64 | |
34 | |
32 |
User | Count |
---|---|
340 | |
273 | |
116 | |
73 | |
57 |