# How to arrange data for creating a Dashboard

**URL:** <https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281>\
**Category:** Ask for Help\
**Created:** [June 20, 2024, 11:49pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281 "2024-06-20T23:49:12Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [June 20, 2024, 11:49pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/1 "2024-06-20T23:49:12Z")

</div>

Hi,

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

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/4/947b859a1e5427206808d0ebc65a3c6c5a5e005e.jpeg)

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

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/f/0f686d8a43fdc1b862f7642ee084199d31de4e50.jpeg)

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.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 21, 2024, 12:27am UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/2 "2024-06-21T00:27:23Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 21, 2024, 12:57am UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/3 "2024-06-21T00:57:04Z")

</div>

You can inspect @Darren_Murphy 's **video** here: [Searching everything from the home screen: tabs, collections or rows of data - #4 by Darren\_Murphy](https://community.glideapps.com/t/searching-everything-from-the-home-screen-tabs-collections-or-rows-of-data/72783/4)

Hope it helps.

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [June 21, 2024, 4:30pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/4 "2024-06-21T16:30:30Z")

</div>

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.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/5/35d6c2eea1a584fcf82ccba269cd33b751c5b849.jpeg)

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?

---

<div class="post-metadata">

**Author:** ![Sekayi\_Liburd](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sekayi_liburd/32/77608_2.png) [@Sekayi\_Liburd](https://community.glideapps.com/u/Sekayi_Liburd)\
**Post date:** [June 21, 2024, 6:27pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/5 "2024-06-21T18:27:10Z")

</div>

do you need to do something like this?

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/7/b7151909fad6d058a6db02f368ada6f08c7e7eb9.jpeg "Changing horizontal data to vertical with =TRANSPOSE") ](https://www.youtube.com/watch?v=04YTjvo8zTA)

there’s also this thread:

> [@Transpose data from a column in one table to another table in a row](https://community.glideapps.com/t/transpose-data-from-a-column-in-one-table-to-another-table-in-a-row/72201):
>
> I want to automatically copy numeric values from a column in GlideApp-Table 1 to a row in GlideApp-Table 2. I will do this with multiple columns in table 1 to pair them with their rows in table 2 that have the same name. Context: In Table 1, the column name is Savings and each row in this column represents the numeric value in a given month In Table 2 the row represents Savings and each column will represent the months I am basically transposing data cross different tables from a single col…

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 22, 2024, 12:44am UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/6 "2024-06-22T00:44:42Z")

</div>

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?

> [@Th.Nitin](#):
>
> So every month we need to add another set of columns and update everything i.e. add this new column to the array.

This sounds like it violates the [First Normal Form](https://www.youtube.com/watch?v=jgUeOjImOOw).

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [June 22, 2024, 1:30pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/7 "2024-06-22T13:30:45Z")

</div>

@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.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 23, 2024, 12:46am UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/8 "2024-06-23T00:46:40Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [June 28, 2024, 5:39pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/9 "2024-06-28T17:39:28Z")

</div>

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

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/d/3/d322706a09280ca1d9dcf368db3e0dcb9e190df5.jpeg)

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

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/0/2092461def21ff95f6a126e01f159d7e82df1a55.jpeg)

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [July 3, 2024, 10:14am UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/10 "2024-07-03T10:14:30Z")

</div>

@ThinhDinh Any updates on this

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 3, 2024, 11:08pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/11 "2024-07-03T23:08:59Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [July 8, 2024, 1:12pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/12 "2024-07-08T13:12:39Z")

</div>

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

 ![WhatsApp Image 2024-07-08 at 18.37.12](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/8/98169952659965c8f458f427000a2ef2e45c7b5f.jpeg)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 8, 2024, 1:15pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/13 "2024-07-08T13:15:21Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [July 8, 2024, 2:31pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/14 "2024-07-08T14:31:29Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [July 8, 2024, 3:33pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/15 "2024-07-08T15:33:19Z")

</div>

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?

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/9/b/9bef46df54ca285d40e67f49bd46e29a08b31201.jpeg)

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

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 8, 2024, 11:29pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/16 "2024-07-08T23:29:12Z")

</div>

> [@Th.Nitin](#):
>
> 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?

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?

> [@Th.Nitin](#):
>
> 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?

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.

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [July 9, 2024, 8:58am UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/17 "2024-07-09T08:58:13Z")

</div>

> [@ThinhDinh](#):
>
> 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?

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?

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 9, 2024, 9:09am UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/18 "2024-07-09T09:09:17Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![Th.Nitin](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/th.nitin/32/72291_2.png) [@Th.Nitin](https://community.glideapps.com/u/Th.Nitin)\
**Post date:** [July 9, 2024, 12:49pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/19 "2024-07-09T12:49:37Z")

</div>

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 |

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 9, 2024, 12:51pm UTC](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281/20 "2024-07-09T12:51:00Z")

</div>

> [@Th.Nitin](#):
>
> Now keeping this flow in mind, how can we add or bring order 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

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

[Next page](https://community.glideapps.com/t/how-to-arrange-data-for-creating-a-dashboard/74281.md?page=2)
