Hi,
I have a Gallery based on SQL DataSource and currently I am filtering the data based on the date selected in the DatePicker Control.
But I want to filter by Customer ComboBox, Project DropDown and a toggle which shows that the task was Billable "true" = Billable tasks or "false" = Not Billable tasks.
I think I am stuck in creating the formula on any of the combinations.
AnyHelp?
Solved! Go to Solution.
@MH3
There is one potential problem with you scenario. You are currently filtering project and customer IF they are selected. If they are not selected, then they are not included in the filter.
If you use a checkbox or toggle (both pretty much the same), then there is only true or false...there is no ability to "exclude" filtering on the billable. In other words, if the user decides they want to get results from a date range and a customer but don't care about the project or Billable, then your formula will STILL be filtering on the NO for billable.
If that IS an issue, then I would consider instead a Dropdown control (let's call it ddBillable) with Items property of ["Both", "Billable", "Not Billable"]
Then your formula would be:
Sort
With({_startDate: Value(Text(StartDate.SelectedDate,"[$-en-US]yyyymmdd")),
_endDate: Value(Text(EndDate.SelectedDate,"[$-en-US]yyyymmdd"))},
Filter(CollectTest1,
UserId=MyUserEmail &&
(
(IsBlank(StartDate.SelectedDate) || IsBlank(EndDate.SelectedDate)) ||
(var1 && var2 && DateAsInt >= _startDate && DateAsInt <= _endDate)
) &&
(IsBlank(CustomerCombo.Selected._customerID) || Customer = CustomerCombo.Selected._customerID) &&
(IsBlank(ProjectCombo.Selected._projectID) || Project = ProjectCombo.Selected._projectID) &&
(Switch(ddBillable.Selected.Value,
"Both", true,
"Billable", Billable = 1,
Billable = 0
)
)
)
),
DateAsInt
)
Hi,
You can add && conditions in your filter formula in Items property in the gallery.
If(Toggle1.value=true,Filter(DataSource, column1value = combobox.selected.value && column2value = dropdown.selected.value && column3value="Billable"),Filter(DataSource, column1value = combobox.selected.value && column2value = dropdown.selected.value && column3value="NonBillable"))
--------------------------------------------------------------------------------
If this post helps answer your question, please click on “Accept as Solution” to help other members find it more quickly. If you thought this post was helpful, please give it a Thumbs Up.
Thanks for your reply @Suchitra1996 ,
But things are not happening like this.
My Current formula for Gallery item is working on DatePicker and it shows the data based on the date selected.
Sort(If(var1&&var2,Filter(CollectTest1,UserId=MyUserEmail),Filter(CollectTest1,UserId=MyUserEmail,(DateAsInt>=Value(Text(StartDate.SelectedDate,"[$-en-US]yyyymmdd")))&&(DateAsInt<=Value(Text(EndDate.SelectedDate,"[$-en-US]yyyymmdd"))))),DateAsInt,Ascending)
Now, I want to filter the gallery based on these controls irrespective of the date picker controls.
Like I want to see the List of Tasks of a specific customer which is selected in the combo box,
or a Task which is associated with a Project. etc
MySQL DataSource of Gallery is TimeSheet Table
Which have fields Task,Date, Project ID, Customer ID, Billable (indicator) 1 for True, 0 for false in sql.
Project Table: have Id and Descr Fields.
Customer Table: have vc_code (represented as Customer ID in timeSheet Table), vc_name (as Customer Name) and address and etc fields.
@eka24
Please consider changing your Formula to the following:
Sort
With({_startDate: Value(Text(StartDate.SelectedDate,"[$-en-US]yyyymmdd")),
_endDate: Value(Text(EndDate.SelectedDate,"[$-en-US]yyyymmdd"))},
Filter(CollectTest1,
UserId=MyUserEmail &&
(var1 && var2 && DateAsInt >= _startDate && DateAsInt <= _endDate) &&
(IsBlank(customerCombo.Selected.'Customer ID') || 'Customer ID' = customerCombo.Selected.'Customer ID') &&
(IsBlank(projectCombo.Selected.'Project ID') || 'Project ID' = projectCombo.Selected.'Project ID') &&
((checkboxBillable.Value && Billable=1) || Billable = 0)
)
),
DateAsInt
)
I am unclear on your use of var1 and var2, but I'd consider getting rid of them and adjusting the formula based on the direct condition that you are setting them for.
Also, not sure what your Items properties are for your Project and Customer comboboxes (nor if you even need a combobox - unless you need multiple selections (which this formula does not adjust for) or searching) so, the Selected.xxxx may need to be adjusted based on the items.
I hope this is helpful for you.
@RandyHayes Thanks for your help.
But, I used your formula and changed it accordingly but the gallery is not showing up anything when I select the dates, Customer and even project.
CustomerCombo :
Items:
Sort(Distinct('[dbo].[Vw_Customers]',vc_name),Result)
DisplayFields:
["Result"]
ProjectCombo:
Items:
Sort(Distinct('[dbo].[TsProject]',Descr),Result)
DisplayFields:
["Result"]
and the Gallery is not showing any data, if there are no combobox selected, not even if the dates are selected by default.
Any Help??
What is your formula on the Items?
I am more concerned, however, with the comboboxes.
In the Customer combobox - you ONLY have the vc_name column value - will this match to 'Customer ID'?
And for Project, you ONLY have the Descr column value - will this match to Project ID?
@RandyHayes I make you understand
I have a SQL Transaction Table which is named as TimeSheet
Table Fields:
1) Task - Varchar
2) Date - Varchar
3) Customer - Int
4) Project - Int
5) Billable - Int (stored as 0 or 1 )
6) UserId
Customer Table:
Table Fields:
1) vc_code - Integer (which is Customer Id in Customer Table and that ID is called as Foreign Key in TimeSheet table as Customer)
2) vc_name - Varchar (Which is Customer name)
3) Address - Varchar
4) Phone
and etc.
Project Table:
Table Fields:
1) Id - Int
2) Descr - (Project Name)
That's my SQL table Structure, actually I am matching Customer Text from CustomerCombo with Customer Number in TimeSheet which is in my Gallery Filter
Understood. My point is this - you are trying to filter based on the value of your comboboxes and your comboboxes do NOT contain any value that will relate to your Filter.
You are using the Distinct function in both of them. Distinct returns ONLY one value...the value of the column you are doing distinct on.
So, if you need vc_code for your filter and you are doing distinct on vc_name, then you will not have the value you need in order to filter.
You will need to change the Items property on the CustomerCombo to:
Sort(
AddColumns(
GroupBy('[dbo].[Vw_Customers]',
"vc_name",
"_recs"
),
"_customerID", First(_recs).vc_code
),
vc_name
)
And set the DisplayFields to: ["vc_name"]
Your ProjectCombo Items needs to be:
Sort(
AddColumns(
GroupBy('[dbo].[TsProject]',
"Descr",
"_recs"
),
"_projectID", First(_recs).Id
),
Descr
)
And set the DisplayFields to ["Descr"]
Then, your filter formula is the following:
Sort
With({_startDate: Value(Text(StartDate.SelectedDate,"[$-en-US]yyyymmdd")),
_endDate: Value(Text(EndDate.SelectedDate,"[$-en-US]yyyymmdd"))},
Filter(CollectTest1,
UserId=MyUserEmail &&
(var1 && var2 && DateAsInt >= _startDate && DateAsInt <= _endDate) &&
(IsBlank(CustomerCombo.Selected._customerID) || Customer = CustomerCombo.Selected._customerID) &&
(IsBlank(ProjectCombo.Selected._projectID) || Project = ProjectCombo.Selected._projectID) &&
((checkboxBillable.Value && Billable=1) || Billable = 0)
)
),
DateAsInt
)
I believe I have matched all the names properly based on what you provided, but correct as needed.
There is one that I do not see referenced anywhere - DateAsInt. I did not see that in any of your schemas.
@RandyHayes Thanks your Formula worked.
But there is some problem.
if I want to Filter the Gallery based on Customer Name Selection, the gallery is not showing any data.
What's wrong?
I suspect in this scenario that this is because of the Dates. There is nothing selected in your dates and with the current formula, it relies on there to be dates - there is no defaulting of dates.
I am still unclear on what var1 and var2 are in your formula and I left them in there to be consistent with your original formula.
If you want the ability to find items even when the dates are empty, then this should do it:
Sort
With({_startDate: Value(Text(StartDate.SelectedDate,"[$-en-US]yyyymmdd")),
_endDate: Value(Text(EndDate.SelectedDate,"[$-en-US]yyyymmdd"))},
Filter(CollectTest1,
UserId=MyUserEmail &&
(
(IsBlank(StartDate.SelectedDate) || IsBlank(EndDate.SelectedDate)) ||
(var1 && var2 && DateAsInt >= _startDate && DateAsInt <= _endDate)
) &&
(IsBlank(CustomerCombo.Selected._customerID) || Customer = CustomerCombo.Selected._customerID) &&
(IsBlank(ProjectCombo.Selected._projectID) || Project = ProjectCombo.Selected._projectID) &&
((checkboxBillable.Value && Billable=1) || Billable = 0)
)
),
DateAsInt
)
Now, just like the cobobox values, this is going to depend on anything you might be doing in the Default of the datepickers. I would make them Blank()
We can’t imagine our communities without the amazing work of our Super Users! They are the most active members of our community, offering incredible solutions, providing answers to questions across the forum, and working closely with the Microsoft Power Platform Community team to find new ways to engage our communities around the world. If you are interested in becoming a Super User, today at #MPPC23, we annoucned a new way for you to “SUIT” up and earn your Super User badge! The new “Super User in Training” initiative is a great way for you to begin building your solution rate, engage with other community members, and find out what it takes to truly be SUPER. Become a “super solver” across the Power Platform communities, whether you’re an expert in Power Apps or just getting started with Power Pages. No matter where you are on your Power Platform journey, we are here to encourage YOU to discover YOUR superpower! Don't sell your self short, even as a newcomer to Power Platform or Dynamics 365 you are on a journey of discovery. In fact in my experience people that are just starting out are often the ones that can solve some of the most challenging problems because the research they are doing to get ramped up is exactly what the person asking for help is seeking! Find out more about the SUIT program for “Super Users in Training” at the Power Platform Community Lounge at #MPPC23. Not at the Conference, just click this link to find out how to sign up today: aka.ms/suit
This weekly series is our way of helping the amazing members of our community--both new members and seasoned veterans--learn and grow in how to best engage in the community! Each Tuesday, we will feature new areas of content that will help you best understand the community--from ranking and badges to profile avatars, from Super Users to blogging in the community. Our hope is that this information will help each of our community members grow in their experience with Power Platform, with the community, and with each other! Have you ever wondered how your fellow community members earn the different ranks available? What is the difference between an Advocate and a Helper, a Solution Sage and a Community Champion? In today's #TuesdayTip, we share the secrets and tips to help YOU keep your ranking growing--and why it's so important to our communities. What are community ranks? - Power Platform Community (microsoft.com) Get the details in this Knowledge Base article that shows you what ranks are, how they are achieved, and what they mean to you as you engage with other community members on a regular basis. Once you start your journey in the community, ranking up, you'll find the benefits. So get busy with those kudos, solutions, and more! We can't wait to see how you rank!That's it for this week. Tune in for more Tuesday Tips next Tuesday and join the community as we continue to get "Back to Basics."
After all the planning and preparing, the annual Microsoft Power Platform Conference is finally here! We are excited to see so many of our community in Las Vegas this week. To help make sure you don't miss any of the workshops, sessions, and events we have planned, make sure to check out this handy Community One-Sheet, and download the pdf today! Make sure to stop by the Community Lounge to meet @hugobernier, @EricArcher, @heaher_italent, and @AshleyFelts from our team! See you in Vegas!
Join us for the first-ever the Biz Apps Community User Group meeting live from the Power Platform Conference! This one hour user group meeting is all about discovering the value and benefits of User Groups! Discover how you can find a group in your local area or about specific topics where you can learn new skills and meet like-minded people as a user group member. Hear from User Group leaders about why they do what they do and what resources they receive to help them succeed as community ambassadors. If you have never attended a User Group meeting before, this will be a great introduction! We hope you are inspired to find a group that meets your unique interests! October 5th at 2:15 pm Pacific time If you're attending #MPPC23 in Las Vegas, join us in person! Find out more here: https://powerplatformconf.com/#!/session/Biz%20Apps%20Community%20User%20Group%20Meeting%20-%20Live%20from%20MPPC/6172 Not at MPPC23? Attend vvirtually by registering here: https://aka.ms/MPPCusergroupmeeting2023 If you can't attend this meeting live, don't worry! We will record this meeting and share it with the Community at powerusers.microsoft.com
We are excited to kick off our new #TuesdayTIps series, "Back to Basics." This weekly series is our way of helping the amazing members of our community--both new members and seasoned veterans--learn and grow in how to best engage in the community! Each Tuesday, we will feature new areas of content that will help you best understand the community--from ranking and badges to profile avatars, from Super Users to blogging in the community. Our hope is that this information will help each of our community members grow in their experience with Power Platform, with the community, and with each other! This Week's Tips: Account Support: Changing Passwords, Changing Email Addresses or Usernames, "Need Admin Approval," Etc.Wondering how to get support for your community account? Check out the details on these common questions and more. Just follow the link below for articles that explain it all.Community Account Support - Power Platform Community (microsoft.com) All About GDPR: How It Affects Closing Your Community Account (And Why You Should Think Twice Before You Do)GDPR, the General Data Protection Regulation (GDPR), took effect May 25th 2018. A European privacy law, GDPR imposes new rules on companies and other organizations offering goods and services to people in the European Union (EU), or that collect and analyze data tied to EU residents. GDPR applies no matter where you are located, and it affects what happens when you decide to close your account. Read the details here:All About GDPR - Power Platform Community (microsoft.com) Getting to Know You: Setting Up Your Community Profile, Customizing Your Profile, and More.Your community profile helps other members of the community get to know you as you begin to engage and interact. Your profile is a mirror of your activity in the community. Find out how to set it up, change your avatar, adjust your time zone, and more. Click on the link below to find out how:Community Profile, Time Zone, Picture (Avatar) & D... - Power Platform Community (microsoft.com) That's it for this week. Tune in for more Tuesday Tips next Tuesday and join the community as we get "Back to Basics."
Welcome to our September 2023 Newsletter, where we highlight the latest news, product releases, podcasts, upcoming events, and the great work of our Power Platform Community members. As usual, please make sure you follow our News & Announcements in the Community to stay up to date. Another great way to connect is to join our Power Platform Community on LinkedIn. You can join our LInkedIn community here. MPPC's Got Power - Submissions end September 28th! Are you ready to showcase your skills at the Microsoft Power Platform Conference in Las Vegas? Don't miss out on the "MPPC's Got Power" talent show, a grand celebration of connection, inspiration, and shared journeys. Whether you're a technical innovator, a talented storyteller, or have a hidden creative side, we want to see what you've got! With three categories to choose from, you have the chance to shine on stage and make your mark in the Microsoft Power Platform community. Click the GIF to sign up by Thursday 28th September to be part of an unforgettable MPPC23 experience. Now is your time to shine! Check Out the Low Code Approach Podcast Give the Low Code Approach Podcast a listen! Hosted by Sean Fiene, Wendy Haddad, and Kenric Auguillard, this innovative show shines a light on how Microsoft MVPs, product team members, and Community users are building exciting solutions using Microsoft Power Platform. Plus, with guests like Kartik Kanakasabesan, April Dunnam, Ricardo Duncan Jr., Sonja Gu, Phil Topness, Shane Young and more, this weekly show is a must for all you Business Applications enthusiasts out there. Click the image below to check it out! COMMUNITY HIGHLIGHTS Check out the most active Community users for August 2023. These hardworking members are posting regularly, answering questions, writing blogs, giving kudos, and providing top solutions in their communities across Power Platform. Huge thanks to these amazing community members for their great contributions last month! trice602poweractivateLaurensMWarrenBelzAmikBCBuizerSamLedcreativeopinion timlExpiscornovusManishSolankiMattJimisonfernandosilvaMisterMarkPstork1saudali_25hafizsultan242Lucas001ragavanrajanp_doc UPCOMING EVENT: 365 EDUCON CHICAGO Whether you're new to Microsoft 365, Power Platform and SharePoint, or an experienced power user, admin or developer, 365 EduCon has content designed to fit your experience level and area of interest. Their workshops and sessions are taught by Microsoft Certified Trainers, MVPs, Regional Directors, and Engineers. Find out more and register here: Home - Microsoft 365 EduCon Chicago - A Microsoft 365 Conference.