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 / Use Sharepoint LookUp ...
Power Apps
Unanswered

Use Sharepoint LookUp fields in lists or not?

(0) ShareShare
ReportReport
Posted on by 50

Hi all, I've been thinking about this for a while now and I can't get to a straight answer in my head.

So curious to hear your opinions

 

Im building an app that uses data from a SP TeamSite, the data is in Sharepoint lists.

All the lists have lookupfields to eachother, 

The lists follow this schema:

Regions -> Cities in regions -> Adresses in cities -> Orders per city -> Items per order

 

I know that maybe using SP lists for this is not maybe the ideal way of doing things here but it's whats available for me at the moment.

I've been toying around with skipping the lookup fields and instead per each list just adding a column with an ID for the ParentID

And then whitin the PowerApps collections handle all the data with the AddColumn and LookUp functions.

 

Anyone has any pros or cons to either approach?

Not using LookUpFields whitin the SP lists seems to make the coding easier and look more obvious about what is going on, altho you do have to make little bit more coding (My opinion).

 

Using the LookUp fields however do give you the nice advantage of setting Restrict Delete and if you go into the actual SP lists it's easier to understand the data. Altho with this app, the point is for users not actually go into the lists.

 

Are there any performance benefits to either of the approaches? From what I could see in my testing there didnt seem to be any difference.

 

So any opinions?

 

 

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

    @drwaz 

    Lookup columns are more of a user interface concept from a SharePoint list.  They give users more information than an ID and it provides an option to click on the value to see the related record.  If you need to use a list from the SharePoint interface, this is a nice thing.  Your goal is to get people to use your app, not the list.

    So, having an ID only is much easier to design formulas for than it is to work with the lookup column.  

    Disadvantages come from when you want to have multiple values in the lookup column.  This is something you can do easily from the lookup column perspective.  From using just an ID, then you have the decision to make as to if you will now create another list to have a one to many relationship, or if you will utilize a text column to concatenate your "array" of ID's together - both work just fine, but it is an added step that may outweigh the advantages.

     

    As for brining them into your app, it is usually just adding a column in your Items properties to get the related record. 

    IF you only need the related record's related value (i.e. if you relate to another list by Title and you only need the Title), then the Lookup column is best because you will have the value you want without any extra work.

    e.x.  your Items property - yourList

    Now, you have in your table a column that is the lookup column that has a record with an Id and Value.  The ID of the related record and the related column value (from above...the Title).

    So, there is no other work to do.

     

    IF you need the full related record, then your Items property becomes:  AddColumns(yourList, "relatedRecord", LookUp(otherList, ID=relatedColumnID))

    Of course, the above is true for even a lookup column.  IF you need the full related record, you still need to do the above - AddColumns(yourList, "relatedRecord", LookUp(otherList, ID=LookupColumn.Id))

    So...not a huge advantage.

     

    And of course the above is all compounded if you need to relate to multiple records.

     

    So, the real answer is...it depends!  You need to factor each choice into your app design and highly consider the performance implications.  If getting the related value column is only important for displaying lists for example, then the Lookup column is a good choice and then do the lookup of the entire record on demand as needed.  Because, if you have just the ID in the list and you need to just display a related value column (as you would have with the lookup column), then you are now forced to Add a column and do a lookup on each record.  Sometimes that is needed because you need the full record, but if not, then you are dragging down your performance.

     

    Either way, you mention collections - avoid using them unless there is an absolute need for one - otherwise you will be doubling the performance hit to your app.

     

    I hope this is helpful for you.

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

    @Drrickryp 

    Yes...I hate to say it, but I don't entirely agree with your ten commandments in that regard.  I see Lookup columns, choice columns and other SharePoint specific columns to be a design choice. 

    As I outline above there are times that the Lookup column will be beneficial in terms of performance.  Specifically if I only need to display the referenced value. This is far more performant than looking up each record from the stored ID just to get that value.

    So...all based on design.  If my app primarily only needs that referenced value, then Lookup is good.  If my app primarily needs the entire record, then the lookup is of no value.

    I would say that based on that principal about 75-80% of my apps use a datasource with just an ID and the rest will utilize a Lookup column.  But again...your mileage may vary.

    AND, if you have need to create a basic one-to-many without having additional tables/lists to do it, then the Lookup column does a great job of it.

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

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 381 Super User 2026 Season 2

#2
Mohsin Ali Profile Picture

Mohsin Ali 340

#3
WarrenBelz Profile Picture

WarrenBelz 187 Most Valuable Professional

Last 30 days Overall leaderboard