Reply
Highlighted
Level: Powered On
Posts: 4
Registered: ‎10-04-2016
Accepted Solution

Service Desk Example - Filter for TicketsPage

Can someone explain how the TicketsPage shows only the selected records from the HomePage option that was chosen?  On the HomePage I see the OnSelect Action with all the IF statements but I don't understand how the filtering is working.


Accepted Solutions
PowerApps Staff
Posts: 22
Registered: ‎12-14-2016

Re: Service Desk Example - Filter for TicketsPage

On the HomePage, the OnSelect statement you mentioned has a Navigate call for each condition which passes the context to the TicketsPage.

 

The first Navigate call is: Navigate(TicketsPage,ScreenTransition.Fade,{type:"All"}). The context being passed has a property named "type" with the value of "All" and, in the time based cases, an additional property called "datetype" is set respectively based on the condition.

 

On the TicketsPage, the TicketsGallery items is set to:

 

 If(type="All",Tickets,If(type="Tickets older than 3 days", Filter(Tickets,   DateCreated <> datetype && DateCreated <> Text(Today()), DateCreated <> Text(DateAdd(Today(), -2)),DateCreated <> Text(DateAdd(Today(), -1))|| DateClosed <> datetype && DateClosed <> Text(Today()), DateClosed <> Text(DateAdd(Today(),-2)),DateClosed <> Text(DateAdd(Today(), -1))),If(type="Tickets opened today",Filter(Tickets,datetype in DateCreated),If(type="Tickets closed today",Filter(Tickets,datetype in DateClosed),Filter(Tickets,type in Status)))))

 

The first condition, checks if type is "All" then use the Tickets datasource while the following conditions use the Filter formula to limit the datasource items given a condition.

 

See the article on filtering for more information. https://powerapps.microsoft.com/en-us/tutorials/function-filter-lookup/.

 

Ryan McHenry [MSFT - PowerApps]

View solution in original post


All Replies
PowerApps Staff
Posts: 22
Registered: ‎12-14-2016

Re: Service Desk Example - Filter for TicketsPage

On the HomePage, the OnSelect statement you mentioned has a Navigate call for each condition which passes the context to the TicketsPage.

 

The first Navigate call is: Navigate(TicketsPage,ScreenTransition.Fade,{type:"All"}). The context being passed has a property named "type" with the value of "All" and, in the time based cases, an additional property called "datetype" is set respectively based on the condition.

 

On the TicketsPage, the TicketsGallery items is set to:

 

 If(type="All",Tickets,If(type="Tickets older than 3 days", Filter(Tickets,   DateCreated <> datetype && DateCreated <> Text(Today()), DateCreated <> Text(DateAdd(Today(), -2)),DateCreated <> Text(DateAdd(Today(), -1))|| DateClosed <> datetype && DateClosed <> Text(Today()), DateClosed <> Text(DateAdd(Today(),-2)),DateClosed <> Text(DateAdd(Today(), -1))),If(type="Tickets opened today",Filter(Tickets,datetype in DateCreated),If(type="Tickets closed today",Filter(Tickets,datetype in DateClosed),Filter(Tickets,type in Status)))))

 

The first condition, checks if type is "All" then use the Tickets datasource while the following conditions use the Filter formula to limit the datasource items given a condition.

 

See the article on filtering for more information. https://powerapps.microsoft.com/en-us/tutorials/function-filter-lookup/.

 

Ryan McHenry [MSFT - PowerApps]

Level: Powered On
Posts: 4
Registered: ‎10-04-2016

Re: Service Desk Example - Filter for TicketsPage

Thank you so much for the explanation!