How the row mapping happens?

How the glide maps users to their particular row other than the user profile sheets?. For Eg I have a investment Portfolio sheet, and i have 10 users, so 10 rows. Then how does the glide knows/maps a user to a particular row, without email id in that sheet, means as soon as the user logs in, the glide shows information in the whole row to unique users.

If the data is not in your User Profiles table, then you need to include a column that can be used to link each row to a specific user, and then populate that column as each new row is added.

This can be anything you want, as long as it’s unique to each user. There are probably two “standard” approaches:

  • The first is to use email address. If you need to keep the data private such that one user cannot access any other users data, then this is the best approach as you can also make the column a Row Owner.
  • The second approach is to use a UserID, which would the the RowID taken from your user profiles table.
2 Likes

@Darren_Murphy is spot on. Another option is to include the user email in the Portfolio sheet and then apply Row Owner security to that column. Now the logged in user will only ever get back Portfolio rows that match their email address. It may or may not be appropriate for you scenario, depending on whether other users’ Portfolio entries should be available to each other.

2 Likes

thanks @Darren_Murphy @V88 , after pulling the email ids using lookup, array and rollup what will the email column data type will be will it be email type or text type?

For lookups, it will be the same column type as the original column, meaning if you take back an email column, it will be an email. That’s if you take back a single value from the relation, if you take back multiple values, it will return an array.

I assume when you’re asking about an array, you mean each element inside it, I assume it will behave the same as lookups.

For rollups on email columns, you can only return numbers (count & count unique).

If i form a relation between two tables and using lookup if i extract email column then what will be the data type for the extracted email column.?
and i am unable to make the email column extracted using relation and lookup a row owner. i am working on glide sheet. tried extracting email using single value and their also i am unable to make the extracted email column as row owner.

It will be an email, providing your relation is a single relation.

You can only use basic columns (i.e a Sheet column, or a basic column created in a Glide Table) as row owners. Lookups, and any computed columns can’t be used as row owners.

@ThinhDinh @Darren_Murphy , now I have one User profile google sheet and one Investment profile glide sheet. As shared by Darren in other sheets, i have added a Row Id column and using lookup, then array and single value i have extracted email from the user profile sheet. Now the glide is not recognising this derived column, despite having many rows it shows and edits values for the top row only. I have tried same by forming relation between the sheets and have used lookup to derive the email, but seems like glide is unable to map this email column to rows.

For checking, i have used “Text is Email” feature to check, if this column is email type or not, and it is showing true, despite all this the glide is unable to map this email id column with rows, do you suggest any other method or am i doing wrong? Can you also try once, if it works or not?
Here are some screenshots:

here are the app images, you can see despite different user id , the investment amount shows same.
1.


2.

3.

You must filter the tab level screen by “email” is signed-in user. Otherwise it will always read the first row when you have a details tab layout like this.

Thanks @ThinhDinh it works.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.