cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Skiroy
Helper II
Helper II

SharePoint Array - parsing out unique categories, and finding the minimum date for that category.

Hello, 

 

I'm currently working on a PowerAutomate solution that in theory would take a SharePoint list, pull out the unique fields and then find the minimum date that is associated with that unique field. 

 

Into the sausage making: 

 

I have a column within a SharePoint list called "Project Group", and I have multiple items that can be part of that particular project group. The unique concern is there can be multiple dates associated with a single "Project Group", but I only am concerned with capturing the minimum date and writing that value to a different column in a SP list. 

 

Through a Union, I can pull the unique "project groups", but I'm stuck on how to then get the minimum dates associated with that particular project group. 

 

Capture.PNG

 

Capture.PNG

 

Any help on next steps would be greatly appreciated! 

8 REPLIES 8
ChristianAbata
Super User
Super User

hi @Skiroy  you can use get Item and use more options to add a Filter so you can add the ID from dynamic content from your firts get items action.



Did I answer your question? Please consider to Mark
my post as a solution! to guide others :winking_face:

Proud to be a Flownaut!


If you want you can follow me at www.christianabata.com Quieres contenido en español? Síguenos en Power Automate LA
tom_riha
Super User
Super User

Hello @Skiroy ,

since you already have the unique project groups, I'd loop through the project groups and for each used 'Get items' action that would:

  • filter only items for the specific project group
  • order results by the date column in ascending order
  • return top count of 1 (only the single item that belongs to the project group and has the earliest date)

The screenshot below is just an example, you should adjust the Filter Query and Order By fields according to the list

image.png

 



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

Hey Tom, 

 

These things are always difficult to explain in full detail. 

 

So the initial SP list has about 700 items, which have about 40 or 50 unique project groups, and ultimately I have another column in the initial SP list that will house the lowest date for each unique project group via update item. 

 

The compose union gives me the list of 40 unique project groups, but I'm not sure what to put in the filter query in the second "get items" '[unique project group]' as the unique project groups are housed in the union array.

 

@tom_riha  

Hello @Skiroy ,

you have the project groups stored in the array, so to process them one by one you will use 'Apply to each' action. Inside this 'Apply to each' you'll use the 'Get items' action with the filter. The [unique project group] part of the filter is the current item (project group in your case) processed by the 'Apply to each' loop, it's represented by the dynamic content 'Current item'.

Example: if you've got an array [ "project_group1", "project_group2",...], and you use that array as an input of 'Apply to each' with the Filter Query: ProjectGroup eq 'Current item'.

  • 1st loop: Current item = project_group1, the Filter Query will be translated as: ProjectGroup eq 'project_group1'
  • 2nd loop: Current item = project_group2, the Filter Query will be translated as: ProjectGroup eq 'project_group2'

But remember to use the internal name of the Project Group column in the filter.

image.png



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

Hey @tom_riha , 

 

Thanks for the break down of using current item in the second 'get items' filter query. 

 

For some reason when I run the get items it's doing the compare / filter on the created category name from the select function and the actual value. 

 

Looks something like: 

 

Project_x0020_Group eq '{"ProjectGroup":"Q1 2019"}'

 

 and of course I get a null value as an output because the project group is not called "ProjectGroup":"Q1 2019"

 

I guess the question, and it's probably a dumb one is how to reference the actual value (i.e., 'Q1 2019') from the output of the compose function above. Instead of just the current item which is "items('Apply_to_each')" , I tried to reference items('Apply_to_each')?['ProjectGroup/Value'] that didn't work either. 

 

I believe we're close. 

 

 

Hello @Skiroy ,

if you remove the /Value part from the reference it should work, the data is directly in the "ProjectGroup" key.

items('Apply_to_each')?['ProjectGroup']

 



[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

Hey @tom_riha , 

 

For some reason it wasn't working before, but now it's running and pulling 59 unique project groups, with an associated earliest date (for most of them). The only one that isn't populating correctly is the first project group I have (earliest date is 1/4/2019, but for some reason it's picking up the second earliest date of 1/11/2019, not sure what's going on there, but anyways. 

 

So we now have our list of unique project groups, and an output from the second get items 2 that has the associated lowest date. 

 

How would we go about looping through all 700 records, where if the project groups match, then update item (different column within the same sharepoint list), with the lowest date associated with that project group. (honestly that is just a stop gap, the ideal solution would have it calculate -120 days from that lowest date, and that would be the value in the different column within the same sharepoint.

 

one step at a time! 

 

 

Hello @Skiroy ,

once you get the lowest date, store it in some variable (to avoid unnecessary 'Apply to each' when using that date, you can also subtract the 120 days when setting the variable with the addDays(...) expression). Then repeat the 'Get items' step with the same filter, but this time without the limit on number of items. That will give you all items for given project, and you can loop through them and update each of them with the new date (from the variable). 

This part of the flow would go like this:

  • Initialize variable: string variable, to store the date and do the calculation
  • Apply to each: to process each of the projects
    • Get items: the one you already have, that gives you just 1 item with the earliest date
    • Apply to each: added automatically to process the result from 'Get items', even if it's just a single item
      • Set variable: store the date into the variable, with expression addDays([theDate],-120) you can subtract the 120 days.
    • Get items 2: the same filter as 'Get items', without the limit to just 1 item
    • Apply to each 2: added automatically to process output from 'Get items 2'
      • Condition: if the current lowest date in the item is equal to the new lowest date
        • If it's equal: do nothing
        • If it's not equal, Update item: update the current item with the variable that contains the lowest date


[ If I have answered your question, please Accept the post as a solution. ]
[ If you like my response, please give it a Thumbs Up. ]

[ I also blog about Power Automate solutions even for non-IT people. ]

Helpful resources

Announcements

Power Platform Connections - Episode 7 | March 30, 2023

Episode Seven of Power Platform Connections sees David Warner and Hugo Bernier talk to Microsoft MVP Dian Taylor, alongside the latest news, product reviews, and community blogs.     Use the hashtag #PowerPlatformConnects on social media for a chance to have your work featured on the show!      Show schedule in this episode:    0:00 Cold Open 00:30 Show Intro 01:02 Dian Taylor Interview 18:03 Blogs & Articles 26:55 Outro & Bloopers    Check out the blogs and articles featured in this week’s episode:    https://francomusso.com/create-a-drag-and-drop-experience-to-upload-case-attachments @crmbizcoach https://www.youtube.com/watch?v=G3522H834Ro​/  @pranavkhuranauk https://github.com/pnp/powerapps-designtoolkit/tree/main/materialdesign%20components @MMe2K​ https://2die4it.com/2023/03/27/populate-a-dynamic-microsoft-word-template-in-power-automate-flow/ @StefanS365 https://d365goddess.com/viva-sales-administrator-settings/ @D365Goddess https://marketplace.visualstudio.com/items?itemName=megel.mme2k-powerapps-helper#Visualize_Dataverse_Environments @MMe2K    Action requested:  Feel free to provide feedback on how we can make our community more inclusive and diverse.    This episode premiered live on our YouTube at 12pm PST on Thursday 30th March 2023.    Video series available at Power Platform Community YouTube channel.    Upcoming events:  Business Applications Launch – April 4th – Free and Virtual! M365 Conference - May 1-5th - Las Vegas Power Apps Developers Summit – May 19-20th - London European Power Platform conference – Jun. 20-22nd - Dublin Microsoft Power Platform Conference – Oct. 3-5th - Las Vegas    Join our Communities:  Power Apps Community Power Automate Community Power Virtual Agents Community Power Pages Community    If you’d like to hear from a specific community member in an upcoming recording and/or have specific questions for the Power Platform Connections team, please let us know. We will do our best to address all your requests or questions.       

Announcing | Super Users - 2023 Season 1

Super Users – 2023 Season 1    We are excited to kick off the Power Users Super User Program for 2023 - Season 1.  The Power Platform Super Users have done an amazing job in keeping the Power Platform communities helpful, accurate and responsive. We would like to send these amazing folks a big THANK YOU for their efforts.      Super User Season 1 | Contributions July 1, 2022 – December 31, 2022  Super User Season 2 | Contributions January 1, 2023 – June 30, 2023    Curious what a Super User is? Super Users are especially active community members who are eager to help others with their community questions. There are 2 Super User seasons in a year, and we monitor the community for new potential Super Users at the end of each season. Super Users are recognized in the community with both a rank name and icon next to their username, and a seasonal badge on their profile.  Power Apps  Power Automate  Power Virtual Agents  Power Pages  Pstork1*  Pstork1*  Pstork1*  OliverRodrigues  BCBuizer  Expiscornovus*  Expiscornovus*  ragavanrajan  AhmedSalih  grantjenkins  renatoromao    Mira_Ghaly*  Mira_Ghaly*      Sundeep_Malik*  Sundeep_Malik*      SudeepGhatakNZ*  SudeepGhatakNZ*      StretchFredrik*  StretchFredrik*      365-Assist*  365-Assist*      cha_cha  ekarim2020      timl  Hardesh15      iAm_ManCat  annajhaveri      SebS  Rhiassuring      LaurensM  abm      TheRobRush  Ankesh_49      WiZey  lbendlin      Nogueira1306  Kaif_Siddique      victorcp  RobElliott      dpoggemann  srduval      SBax  CFernandes      Roverandom  schwibach      Akser  CraigStewart      PowerRanger  MichaelAnnis      subsguts  David_MA      EricRegnier  edgonzales      zmansuri  GeorgiosG      ChrisPiasecki  ryule      AmDev  fchopo      phipps0218  tom_riha      theapurva  takolota     Akash17  momlo     BCLS776  Shuvam-rpa     rampprakash  ScottShearer     Rusk  ChristianAbata     cchannon  Koen5     a33ik  Heartholme     AaronKnox  okeks      Matren   David_MA     Alex_10        Jeff_Thorpe        poweractivate        Ramole        DianaBirkelbach        DavidZoon        AJ_Z        PriyankaGeethik        BrianS        StalinPonnusamy        HamidBee        CNT        Anonymous_Hippo        Anchov        KeithAtherton        alaabitar        Tolu_Victor        KRider        sperry1625        IPC_ahaas      zuurg    rubin_boer   cwebb365   Dorrinda   G1124   Gabibalaban   Manan-Malhotra   jcfDaniel   WarrenBelz   Waegemma   drrickryp   GuidoPreite    If an * is at the end of a user's name this means they are a Multi Super User, in more than one community. Please note this is not the final list, as we are pending a few acceptances.  Once they are received the list will be updated. 

Register now for the Business Applications Launch Event | Tuesday, April 4, 2023

Join us for an in-depth look into the latest updates across Microsoft Dynamics 365 and Microsoft Power Platform that are helping businesses overcome their biggest challenges today.   Find out about new features, capabilities, and best practices for connecting data to deliver exceptional customer experiences, collaborating, and creating using AI-powered capabilities, driving productivity with automation—and building towards future growth with today’s leading technology.   Microsoft leaders and experts will guide you through the full 2023 release wave 1 and how these advancements will help you: Expand visibility, reduce time, and enhance creativity in your departments and teams with unified, AI-powered capabilities.Empower your employees to focus on revenue-generating tasks while automating repetitive tasks.Connect people, data, and processes across your organization with modern collaboration tools.Innovate without limits using the latest in low-code development, including new GPT-powered capabilities.    Click Here to Register Today!    

Check out the new Power Platform Communities Front Door Experience!

We are excited to share the ‘Power Platform Communities Front Door’ experience with you!   Front Door brings together content from all the Power Platform communities into a single place for our community members, customers and low-code, no-code enthusiasts to learn, share and engage with peers, advocates, community program managers and our product team members. There are a host of features and new capabilities now available on Power Platform Communities Front Door to make content more discoverable for all power product community users which includes ForumsUser GroupsEventsCommunity highlightsCommunity by numbersLinks to all communities Users can see top discussions from across all the Power Platform communities and easily navigate to the latest or trending posts for further interaction. Additionally, they can filter to individual products as well.   Users can filter and browse the user group events from all power platform products with feature parity to existing community user group experience and added filtering capabilities.     Users can now explore user groups on the Power Platform Front Door landing page with capability to view all products in Power Platform.      Explore Power Platform Communities Front Door today. Visit Power Platform Community Front door to easily navigate to the different product communities, view a roll up of user groups, events and forums.

Microsoft Power Platform Conference | Registration Open | Oct. 3-5 2023

We are so excited to see you for the Microsoft Power Platform Conference in Las Vegas October 3-5 2023! But first, let's take a look back at some fun moments and the best community in tech from MPPC 2022 in Orlando, Florida.   Featuring guest speakers such as Charles Lamanna, Heather Cook, Julie Strauss, Nirav Shah, Ryan Cunningham, Sangya Singh, Stephen Siciliano, Hugo Bernier and many more.   Register today: https://www.powerplatformconf.com/   

Users online (2,272)