How to arrange data for creating a Dashboard


I am creating a dashboard where the goal is to show a user the financial data of his/ her company. For now let’s say this data includes only the costs.

a. I have these 4 users from different companies

b. And I’ve this costs data but for a single company i.e. company A

Now how to arrange the data in “b” so that it supports data storage for the above 4 companies in a single glide table? Later I want them to show the costs graphs.

It would be great if you can share the screenshot of the glide table of how it should look like.

At least, you should have the ID of the company in the second table to start constructing relations/rollups for your dashboard.

You can inspect @Darren_Murphy 's video here: Searching everything from the home screen: tabs, collections or rows of data - #4 by Darren_Murphy

Hope it helps.


Thanks @Sekayi_Liburd & @ThinhDinh for your help, Just realised that we don’t need user specific columns as we’ve structured the data in such a way that every row is unique/ reserved to a user.

This has 1 con viz. since the users are row-wise the variable data i.e. monthly cost, monthly profits etc. needed to maintained column-wise. So every month we need to add another set of columns and update everything i.e. add this new column to the array. Let’s say we’ve 5 array type columns for different data and 5 variable type columns then we’ve to do 10 operations every month which consumes lot of time, is there any better way to do this operation?

do you need to do something like this?

there’s also this thread:

1 Like

I think there’s something fundamentally wrong with how you construct your data. Why don’t you have multiple rows for combinations of a single user & their monthly stats?

This sounds like it violates the First Normal Form.

@ThinhDinh yes you are right, our team initially started our current project via Google sheet then later it got converted into a glide app, so the data got structured keeping aesthetics in mind. We sometimes needed to show the Google sheets to the client.

Well, maybe you need another sheet, use importrange from the original one, and then convert the imported data to a format that is more suited for Glide.

Personally, if we have used Glide already, I would just show them data presented in Glide and ditch the Sheets layout.

@ThinhDinh Can you share how you’ve structured the backend data of this dashboard if you want to show different data to 2 users.

The default backend looks like this and I want to store data for 2 users here, pls guide

@ThinhDinh Any updates on this

You should have a month & user ID combination for each row, I guess.

@ThinhDinh Do you mean like this, consider the “Wealth Points Added” column with any data points i.e. Revenue for the month.

Yes that’s corect. The Month should tie with the year though, say April 2024, May 2024, etc.

Great, thanks @ThinhDinh. Now let’s say we’ve another table called “User Internal Data” which stores data like his Salary, Total Points accumulated etc. Now as soon as this user registers how to transfer the primary key from the above table to “User Internal Data” table, is there any other way than using a button?

Can you also share of how Glide wants us to structure the Database in their platform, should that be more like a traditional relational databases which is shown in the below image?

I mean does glide prefer’s row oriented or column oriented database structure?

What do you mean by “primary key” here and why do you need to register that to the “User Internal Data” table? Do you mean you want to bring the User ID over? If the flow doesn’t work for you, maybe just using the email would do so you don’t have to rely on Glide’s ID, which is only available when they have a row in the Users table if I understand you right?

It should be constructed like your example, but you define the column types (e.g: text, email, date/time, number, etc.) if you’re using Glide Tables, not necessarily the same as integer, varchar or decimal.

I am confused of how glide works, let’s say there is one table A and another table B, table A represents user profile and table B is an empty table, how glide transfers any info from table A be it be email, user id, row id etc, to table B?

Might have to ask this: Why do you want to transfer info from table A to table B? Is “transfer” the right term to use here?

Instead of transfer let’s say add, suppose Table A contains user details and Table B contains order details. Let’s consider user id as the primary key in Table A and foreign key in Table B, Table B has order id as the primary key (I want both primary & foreign key in Table B). Now the primary key in Table B differentiates between rows or makes every row unique. Now keeping this flow in mind, how can we add or bring user id from Table A to Table B as soon as the user registers and orders an item, so that the final tables looks like below

Table A - User Details

Row Id User Id First Name Last Name
#12345 #11 John Doe
#23890 #23 Antony Blair
#22334 #22 James Johnson

Table B - Order Details

Order Id User Id Item Name
#164 #11 Item A
#455 #23 Item B
#221 #22 Item C

Is there a typo here, because Order ID isn’t in Table A? Do you mean User ID?