web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Parsing and re-structu...
Power Apps
Answered

Parsing and re-structuring data table

(0) ShareShare
ReportReport
Posted on by 8

I have a SQL sourced dataset with the following format that needs to be parced, re-structured, and have duplicates removed.  I don't have access to change the SQL server, and I would prefer to keep this in PowerApps instead of setting up a flow.

 

Problem: "Heat No": output is being stored as a column of tables instead of a column of values.  This is also getting pretty messy and I keep wondering if there is a more elegent way (such as ForAll?) to do this transformation.


Incoming Format:

DescriptionPlannerJob…
** HEAT NUMBER 1235 **A3 
** HEAT NUMBER 1236 ** CCP **B5 
** HEAT NUMBER 1237 **B7 
** HEAT NUMBER 1237 **B9 

 

Target Format:

Heat NumberPlanner
1235A
1236B
1237B

 

Current Code:

//Copy SQL to buffer
ClearCollect(DataImport_JobListBuffer,'[MFGHEAT].[WIPDATA]'); //Tried to filter this directly without success. Seems you need to buffer data in

//Filter buffer
ClearCollect(DataImport_HeatList,Filter(DataImport_JobListBuffer,'A$Organization_Code'="NWT",ITEM_PLANNER_CODE<>"NWT3"));

//Parse out heat number
ClearCollect(DataImport_HeatList2,Substitute(DataImport_HeatList.Description,"**HEAT NUMBER",""));
ClearCollect(DataImport_HeatList2,Substitute(DataImport_HeatList2.Description,"**CPP**",""));
ClearCollect(DataImport_HeatList2,Substitute(DataImport_HeatList2.Description,"**CRP**",""));
ClearCollect(DataImport_HeatList2,Substitute(DataImport_HeatList2.Description,"**",""));

//Add columns back in
ClearCollect(DataImport_HeatList3,AddColumns(DataImport_HeatList,"Heat No",DataImport_HeatList2.Description));

//Remove duplicates
//ClearCollect(DataImport_HeatList4,Distinct(DataImport_HeatList3,Heat No));
Categories:
I have the same question (0)
  • Verified answer
    hnguy71 Profile Picture
    347 on at

    I did a quick test on my side and here's what I came up with:

     

    ClearCollect(
     DataImport_JobListBuffer,
     '[MFGHEAT].[WIPDATA]'
    );
    Distinct(
     ClearCollect(
     _DataImport_HeatList,
     AddColumns(
     Filter(
     DataImport_JobListBuffer,
     'A$Organization_Code' = "NWT",
     ITEM_PLANNER_CODE <> "NWT3"
     ),
     "Heat Number",
     Concat(
     Filter(
     Split(
     Description,
     ""
     ),
     IsMatch(
     Result,
     "^[0-9]*"
     )
     ),
     Result
     )
     )
     ),
     'Heat Number'
    )


    which gave me this:
    remove letters and special.png

  • RandyHayes Profile Picture
    76,299 Super User 2024 Season 1 on at

    @Rjcarpen 

    In addition to @hnguy71 's suggestion, you can also look at applying GroupBy to achieve these same results.

     

    I'm not entirely sure from your sample data if the Planner is unique as well. In other words - if there was a ** HEAT NUMBER 1237 ** with Planner A possibility or not.

    So, if the above is not true, then you can consider this formula for your testing (I assume you want this in a collection for some reason, so I will construct with one):

    ClearCollect(HeatList, 
     DropColumns(
     GroupBy(
     AddColumns(
     Filter('[MFGHEAT].[WIPDATA]', 
     'A$Organization_Code' = "NWT" &&
     ITEM_PLANNER_CODE <> "NWT3"
     ),
     "HeatNumber", Match(Description, MultipleDigits).FullMatch
     ),
     "HeatNumber",
     "Planner",
     "Records"
     ),
     "Records"
     )
    )

    Based on your supplied data, this produces a collection called HeatList with three records -

    HeatNumber    Planner

        1235                 A

        1236                 B

        1237                 B

     

    I hope that is clear and helpful for you.

     

  • Rjcarpen Profile Picture
    8 on at

    Thanks @RandyHayes , this worked well too and is a pretty elegent solution.  I am going to have to find a way to manipulate my downstream app to move in this direction.

  • Rjcarpen Profile Picture
    8 on at

    Thanks @hnguy71 , this worked well and gets me going!

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 392 Most Valuable Professional

#2
11manish Profile Picture

11manish 181 Super User 2026 Season 2

#3
MS.Ragavendar Profile Picture

MS.Ragavendar 112 Super User 2026 Season 2

Last 30 days Overall leaderboard