cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
AccuFloDev
Advocate II
Advocate II

Help with LookUp Columns - CDS Entities returning null data for lookups in PowerApps

Hello,

 

I've posted about this twice before over the past month with no answer from anyone from Microsoft, and now my project is way behind.

I have a PowerApp Canvas App I'm developing with the new CDS for Apps.
One of my custom entities has six lookup columns which I'm trying to load into a form from a Gallery.

When I open an item from the Gallery in a Form, most of the time it WILL NOT load LookUp data.
When I try to display the lookup information in the "DefaultSelectedItems" function, it is blank because the lookup data is blank.

When I compare the data of the Entity Row to what's in the database, it shows values for the lookups.
However, in the app it is 'blank'.  

This issue comes and goes (sometimes it works, usually it does not) and I can't make heads or tails of it.

How can I query for a specific entity row and ensure that ALL the columns, including the lookup columns, have data in them?  Is this an issue that is Microsoft is aware of, or is it possibly something I'm doing wrong?

27 REPLIES 27

Hi @AccuFloDev 

I'm new with powerapps, thats why i need to reanimate this thread..

 


@AccuFloDev wrote:

 


In regards to my issue, I'm trying to improve performance of an app by making it work mostly offline until the user initiates a sync on demand. 


Could you please share me the formula for this part please?

Thanks,

 

BR.

pytbyt

 

 


@PytByt wrote:

Hi @AccuFloDev 

I'm new with powerapps, thats why i need to reanimate this thread..

 


@AccuFloDev wrote:

 


In regards to my issue, I'm trying to improve performance of an app by making it work mostly offline until the user initiates a sync on demand. 


Could you please share me the formula for this part please?

Thanks,

 

BR.

pytbyt

 

 


Hey @PytByt ,

The functionality I was describing isn't all in a single formula - could you be more specific as to the information you're looking for?  I'll try to provide what I can.

Hey @KelvinBox ,


I was unable to get the lookups to show using labels on a page prior to the call to Collect().
I was however able to get the lookups working using a slightly different method;
I may also have found an alternative to using First() that may have less of a hit on the device storage:

 

Here's a basic outline of the steps I used:

  1. On app launch, navigate to a 'splash' screen which will grab online data (if connected) through a series of buttons which iterate through all the entities I need to grab.

  2. On this same page, I have added forms for every entity with lookup values I need to pull in: 1-form-per-entity.
    Each form has DataCards for the following:

    1. A DataCard for each required lookup column.
      • Ensure that the Combo Box for the lookup field shows a value that is guaranteed to have data, such as the Id column of the lookup entity.

    2. A DataCard for the Entity's Id (The Entity with the lookup column, not the lookup's Id)
      This will reassure you that you are indeed getting entity data.

  3. Set the DataSource property of each form to a CDS Entity you need lookup columns for.

  4. On the Items property of each form, use code similar to the example below to pull in a single row.
    According to Microsoft the code is delegable , so hopefully this avoids the caching issue when using First()
    LookUp(
        'My Entity', //CDS Entity
        Not(IsBlank('My Entity Id')) //Get an item where the ID column isn't blank (This guarantees you get a result, if one exists - ID can't be blank)
    )
  5. (Optional) Set the Visibility of these forms to false unless some debug flag is active

  6. After data has been cached on the splash page, navigate to your app's first screen (where your galleries and forms should be).

This has worked to get the lookups showing consistently.  I am running into another issue now with having to Refresh() data sources twice before data comes in, but at least it's bringing in the Lookup values now.
(I will be creating a separate thread on the Refresh issue)

 

Anyway, if you have any questions on my methodology above please let me know.

Hi @AccuFloDev 

I need to know what formula is use to make the offline features. 

I mean, i already use the collection, and i also know about the SaveData and LoadData function. But i haven't really know how to use it and where to put it.

 

That's is why i'm interest in your solution which make the app work mostly offline until the user initiates a sync on demand.

 

I also need to know to automatically sync when Connection is connected.

 

Hope you could help.

 

Thank,

BR.

pytbyt


@PytByt wrote:

Hi @AccuFloDev 

I need to know what formula is use to make the offline features. 

I mean, i already use the collection, and i also know about the SaveData and LoadData function. But i haven't really know how to use it and where to put it.

 

That's is why i'm interest in your solution which make the app work mostly offline until the user initiates a sync on demand.

 

I also need to know to automatically sync when Connection is connected.

 

Hope you could help.

 

Thank,

BR.

pytbyt




Hey @PytByt ,

That's a bit of a loaded question, I'm not sure if I can provide you enough info here in the forums to cover that broad topic, but I can point you in the right direction to some blog articles on the subject take a look at these and let me know if you have any specific questions that aren't covered in the articles:

 

  1. Implementing Offline Capabilities for Relational Data
  2. Implementing Offline Capabilities in your App
  3. Develop offline-capable canvas apps

 

In regards to:

I also need to know to automatically sync when Connection is connected.


There are probably a lot of ways to do this, but my preferred method is to have a button on the apps 'main' screen which runs the 'sync' code.  You could trigger this in a couple of ways:

 

  1. Use the Screens OnVisible property to detect if connected and if so, click the sync button.
    This will have the behaviour of syncing when the screen first loads when the device is connected:
    //Screens OnVisible Property
    If(
      Connection.Connected,
      Select('Sync Button');
    );
  2. To have a screen automatically detect a change in the connection state then run the sync, you could use a Toggle control on the page you wish to do that on, set up something like this:

    *Disclaimer - I haven't tested this code to see if it works, please let me know if you have issues*
    //Toggle Control 'Default' Property
    Connection.Connected
    //Toggle Control 'OnCheck' Property
    //This code will run only when the connection state changes from false to true
    Select('Sync Button');
    You can then set the Visible property of the toggle to false to the users can't manually change the toggle.
alexis
Frequent Visitor

I'm facing the same issue here.

It's the first time I use the CDS and I just spent the day trying to figure out why it does not work.

I tried the First(Filter()) solution but it does not work better.

 

I can't use the Gallery control solution so I don't really know what to do from here.

 

Any updates from Microsoft on when the issue would be resolved ?

 

Thanks

I think the response from @AccuFloDev to me above is still relevant and hasn’t changed unfortunately. 

if you provide specific examples of what you’re doing we can probably help 🙂

Hi,

Yes here's a bit more context:
My tables are: Employees and JobType and the relationship between the 2 tables is:
alexis_0-1605714534995.jpeg

 

 
The issue is when I request a row from the Employee table using the LookUp() or First(Filter()) functions, the Lookup Columns retrieved are always Blank() although there is data in it. I tried getting the result from OnStart, OnVisible, OnSelect, into a global or a local variable and the result is the same every time. All LookUp Columns are always Blank(), No Exceptions.

I'll try the solution from @AccuFloDev  using the Spash Screen. 
By the way, how are the refreshed handled using this solution ?

Thanks

Helpful resources

Announcements

Exclusive LIVE Community Event: Power Apps Copilot Coffee Chat with Copilot Studio Product Team

  It's time for the SECOND Power Apps Copilot Coffee Chat featuring the Copilot Studio product team, which will be held LIVE on April 3, 2024 at 9:30 AM Pacific Daylight Time (PDT).     This is an incredible opportunity to connect with members of the Copilot Studio product team and ask them anything about Copilot Studio. We'll share our special guests with you shortly--but we want to encourage to mark your calendars now because you will not want to miss the conversation.   This live event will give you the unique opportunity to learn more about Copilot Studio plans, where we’ll focus, and get insight into upcoming features. We’re looking forward to hearing from the community, so bring your questions!   TO GET ACCESS TO THIS EXCLUSIVE AMA: Kudo this post to reserve your spot! Reserve your spot now by kudoing this post.  Reservations will be prioritized on when your kudo for the post comes through, so don't wait! Click that "kudo button" today.   Invitations will be sent on April 2nd.Users posting Kudos after April 2nd. at 9AM PDT may not receive an invitation but will be able to view the session online after conclusion of the event. Give your "kudo" today and mark your calendars for April 3rd, 2024 at 9:30 AM PDT and join us for an engaging and informative session!

Tuesday Tip: Unlocking Community Achievements and Earning Badges

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!     THIS WEEK'S TIP: Unlocking Achievements and Earning BadgesAcross the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. These badges each signify a different achievement--and all of those achievements are available to any Community member! If you're a seasoned pro or just getting started, you too can earn badges for the great work you do. Check out some details on Community badges below--and find out more in the detailed link at the end of the article!       A Diverse Range of Badges to Collect The badges you can earn in the Community cover a wide array of activities, including: Kudos Received: Acknowledges the number of times a user’s post has been appreciated with a “Kudo.”Kudos Given: Highlights the user’s generosity in recognizing others’ contributions.Topics Created: Tracks the number of discussions initiated by a user.Solutions Provided: Celebrates the instances where a user’s response is marked as the correct solution.Reply: Counts the number of times a user has engaged with community discussions.Blog Contributor: Honors those who contribute valuable content and are invited to write for the community blog.       A Community Evolving Together Badges are not only a great way to recognize outstanding contributions of our amazing Community members--they are also a way to continue fostering a collaborative and supportive environment. As you continue to share your knowledge and assist each other these badges serve as a visual representation of your valuable contributions.   Find out more about badges in these Community Support pages in each Community: All About Community Badges - Power Apps CommunityAll About Community Badges - Power Automate CommunityAll About Community Badges - Copilot Studio CommunityAll About Community Badges - Power Pages Community

Tuesday Tips: Powering Up Your Community Profile

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week's Tip: Power Up Your Profile!  🚀 It's where every Community member gets their start, and it's essential that you keep it updated! Your Community User Profile is how you're able to get messages, post solutions, ask questions--and as you rank up, it's where your badges will appear and how you'll be known when you start blogging in the Community Blog. Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile.     Password Puzzles? No Problem! Find out how to sync your Azure AD password with your community account, ensuring a seamless sign-in. No separate passwords to remember! Job Jumps & Email Swaps Changed jobs? Got a new email? Fear not! You'll find out how to link your shiny new email to your existing community account, keeping your contributions and connections intact. Username Uncertainties Unraveled Picking the perfect username is crucial--and sometimes the original choice you signed up with doesn't fit as well as you may have thought. There's a quick way to request an update here--but remember, your username is your community identity, so choose wisely. "Need Admin Approval" Warning Window? If you see this error message while using the community, don't worry. A simple process will help you get where you need to go. If you still need assistance, find out how to contact your Community Support team. Whatever you're looking for, when it comes to your profile, the Community Account Support Knowledge Base article is your treasure trove of tips as you navigate the nuances of your Community Profile. It’s the ultimate resource for keeping your digital identity in tip-top shape while engaging with the Power Platform Community. So, dive in and power up your profile today!  💪🚀   Community Account Support | Power Apps Community Account Support | Power AutomateCommunity Account Support | Copilot Studio  Community Account Support | Power Pages

Super User of the Month | Chris Piasecki

In our 2nd installment of this new ongoing feature in the Community, we're thrilled to announce that Chris Piasecki is our Super User of the Month for March 2024. If you've been in the Community for a while, we're sure you've seen a comment or marked one of Chris' helpful tips as a solution--he's been a Super User for SEVEN consecutive seasons!       Since authoring his first reply in April 2020 to his most recent achievement organizing the Canadian Power Platform Summit this month, Chris has helped countless Community members with his insights and expertise. In addition to being a Super User, Chris is also a User Group leader, Microsoft MVP, and a featured speaker at the Microsoft Power Platform Conference. His contributions to the new SUIT program, along with his joyous personality and willingness to jump in and help so many members has made Chris a fixture in the Power Platform Community.   When Chris isn't authoring solutions or organizing events, he's actively leading Piasecki Consulting, specializing in solution architecture, integration, DevOps, and more--helping clients discover how to strategize and implement Microsoft's technology platforms. We are grateful for Chris' insightful help in the Community and look forward to even more amazing milestones as he continues to assist so many with his great tips, solutions--always with a smile and a great sense of humor.You can find Chris in the Community and on LinkedIn. Thanks for being such a SUPER user, Chris! 💪🌠

Find Out What Makes Super Users So Super

We know many of you visit the Power Platform Communities to ask questions and receive answers. But do you know that many of our best answers and solutions come from Community members who are super active, helping anyone who needs a little help getting unstuck with Business Applications products? We call these dedicated Community members Super Users because they are the real heroes in the Community, willing to jump in whenever they can to help! Maybe you've encountered them yourself and they've solved some of your biggest questions. Have you ever wondered, "Why?"We interviewed several of our Super Users to understand what drives them to help in the Community--and discover the difference it has made in their lives as well! Take a look in our gallery today: What Motivates a Super User? - Power Platform Community (microsoft.com)

March User Group Update: New Groups and Upcoming Events!

  Welcome to this month’s celebration of our Community User Groups and exciting User Group events. We’re thrilled to introduce some brand-new user groups that have recently joined our vibrant community. Plus, we’ve got a lineup of engaging events you won’t want to miss. Let’s jump right in: New User Groups   Sacramento Power Platform GroupANZ Power Platform COE User GroupPower Platform MongoliaPower Platform User Group OmanPower Platform User Group Delta StateMid Michigan Power Platform Upcoming Events  DUG4MFG - Quarterly Meetup - Microsoft Demand PlanningDate: 19 Mar 2024 | 10:30 AM to 12:30 PM Central America Standard TimeDescription: Dive into the world of manufacturing with a focus on Demand Planning. Learn from industry experts and share your insights. Dynamics User Group HoustonDate: 07 Mar 2024 | 11:00 AM to 01:00 PM Central America Standard TimeDescription: Houston, get ready for an immersive session on Dynamics 365 and the Power Platform. Connect with fellow professionals and expand your knowledge. Reading Dynamics 365 & Power Platform User Group (Q1)Date: 05 Mar 2024 | 06:00 PM to 09:00 PM GMT Standard TimeDescription: Join our virtual meetup for insightful discussions, demos, and community updates. Let’s kick off Q1 with a bang! Leaders, Create Your Events!    Leaders of existing User Groups, don’t forget to create your events within the Community platform. By doing so, you’ll enable us to share them in future posts and newsletters. Let’s spread the word and make these gatherings even more impactful! Stay tuned for more updates, inspiring stories, and collaborative opportunities from and for our Community User Groups.   P.S. Have an event or success story to share? Reach out to us – we’d love to feature you!

Users online (6,134)