Data in data source, but not showing in app

A new row of data was entered into our app. The data was recorded in the data source and no error data entry errors where present in the logs, but we are now unable to see the record in our app. We have since entered new rows of data and they all show up in both the data source and app.

0 26 2,205
26 REPLIES 26

Did you add that record with the app or directly into your data source?

With the app.

And you donโ€™t see it with the same app?

correct

Any chance that two users have used the app at the same time and they both have filled the same key columnโ€™s value?

I donโ€™t see any key duplicates.

How are you key values chosen?

Key values are generated by initial value = uniqueID().

Are you able to take a printscreen from your data source where we can see that column and record? What are you using as a data source?

Data source is Microsoft Excel file that is located on a SharePoint site. We have re-entered the exact same data a 2nd time and it displays correctly. The first entry is in the data source, but still not displaying in the app. Column A is the Claim Number which is the key for the Claim table. Row is highlighted.

Have you checked that you donโ€™t have exact same value twice in column A?

Yes. I do not.

Then the reason should be in the app. Do you have any slice or security filter that would filter that row away?

Yes. We use security filters. But, we re-entered the same data and it shows the second time in the app, but not the first. Doesnโ€™t make sense.

Is it okay if I check your app directly?

Yes

For that, I would need to know your app name and account ID number. Would you please go to My Account > Settings and check the box next to โ€œAllow AppSheet staff to access all of my appsโ€ฆโ€ and click Save? That will allow us to take a look at the app. Thanks

Thanks. Can you see the info you need in the print screen below. The app is named Gemstone.

Have you tried to remove the security filter?

I tried and that was the issue. It still doesnโ€™t make sense though, because other Claim.Program = โ€œAtlasโ€ records are visible to us. Just not this one. Below is the security filter logic for the Claim table. This was put in place because we want our partners to only have inquiry access to their claim data and not each others. Any โ€œRockinghamโ€ employees can see all claims.

if(OR(contains(useremail(),ses),contains(useremail(),alliant)),IN([Claim Number],SELECT(Policy[Claim Number],[Program]=โ€œSESโ€)),if(OR(contains(useremail(),atlas),contains(useremail(),titan)),IN([Claim Number],SELECT(Policy[Claim Number],[Program]=โ€œAtlasโ€)),if(contains(useremail(),ethos),IN([Claim Number],SELECT(Policy[Claim Number],[Program]=โ€œEthosโ€)),IN([Claim Number],SELECT(Policy[Claim Number],OR([Program]=โ€œSESโ€,[Program]=โ€œAtlasโ€,[Program]=โ€œEthosโ€,ISBLANK([Program])))))))

Soโ€ฆ when you didnโ€™t have any sercurity filter, the result was the same?

There is a quirk with the is-equal operator (=) and is-not-equal operator (<>) that may be affecting your expressionโ€™s result: if the left-side operand is blank, the expression will be TRUE regardless of the right-side operator.

In the else clause of the last IF() expression, you have this:

IN(
  [Claim Number],
  SELECT(
    Policy[Claim Number],
    OR(
      ([Program] = โ€œSESโ€),
      ([Program] = โ€œAtlasโ€),
      ([Program] = โ€œEthosโ€),
      ISBLANK([Program])
    )
  )
)

You explicitly acknowledge that [Program] may be a blank value. You compare [Program] to other values throughout your filter expression. For instance:

SELECT(
  Policy[Claim Number],
  ([Program] = โ€œSESโ€)
)

I encourage you to consider what might be included if the result of that SELECT() also includes Claim Number values from rows with a blank Program column value.

The issue was that the corresponding Policy table row did not exist. There was some sort of error where the Copy to Policy action did not execute and thus didnโ€™t copy values from the Claim table to the Policy table. Is there a way to rewrite the security statement to avoid the claim row from not being visible in these rare instances?

Yes your data in those two records are the same but the Claim number is different and you donโ€™t have โ€œe06d58c6โ€ in your Policy table and thatโ€™s why it doesnโ€™t show that record. If you temporary remove the security filter away, I believe you should see that record as well.

You are correct. I see the issue now. I have an action on the Claim table that auto writes a row to the Policy table and inserts the Policy.Program field. That action did not execute. There must have been an error of some sort when the user added the new claim to the Claim table. Thanks for your help!

Youโ€™re welcome

Top Labels in this Space