Is it possible to have a Table without a column selected as a key.
No. Itâs the base of any table. The bare minimum columns you need are 2:
A Key and the value you need.
You could have just 1 and make it Key but thatâs really risky.
Felix.P_Tong:
is it possible to have a table to hold values, options in a different way
One of the core basic functions, included in just about EVERY app I make, is the ability for the app to know WHO is using the app. If the app knows whoâs using it, then I can easily control many different aspects of the app: Add/edit/delete permissions How data should be filtered What views are shown What buttons, or Actions, are visible Which workflows should fire off Which columns should be shown or editable etc. Requirements To accomplish this functionality in your app, you need the folloâŚ
(Disclaimer: I am an old engineer âdinosaurâ used to the basic spreadsheet that is new to Appsheet. )
Typically when I set up a spreadsheet,
I create a tab where to keep the options for cells I wanted to control the value of.
Then named ranges are used to force the control values in other tabs/cells as required.
I am trying to set up a similar process using Appsheet.
Right now I am trying to use a âReferenceTableâ to hold the control values.
Then, in the other tables columns that I want to control the input values, use âEnum List â Data Validity â Valid Ifâ and point it to the column in the âReferenceTableâ that holds the values I want to limit input to.
However, the table Key prevents this from working because if I try to control more than one value in a table, the first variable I pick up from the âReference Tableâ, forces any subsequent variables using Enum List Validation to the same row as the first variable.
I do not know how to circumvent this.
So, by âOther Wayâ I mean an Apsheet compatible way to hold control values.
(Disclaimer: I am an old engineer âdinosaurâ used to the basic spreadsheet that is new to Appsheet. )
Typically when I set up a spreadsheet,
I create a tab where to keep the options for cells I wanted to control the value of.
Then named ranges are used to force the control values in other tabs/cells as required.
I am trying to set up a similar process using Appsheet.
Right now I am trying to use a âReferenceTableâ to hold the control values.
Then, in the other tables columns that I want to control the input values, use âEnum List â Data Validity â Valid Ifâ and point it to the column in the âReferenceTableâ that holds the values I want to limit input to.
However, the table Key prevents this from working because if I try to control more than one value in a table, the first variable I pick up from the âReference Tableâ, forces any subsequent variables using Enum List Validation to the same row as the first variable.
I do not know how to circumvent this.
So, by âOther Wayâ I mean an Apsheet compatible way to hold control values.
Although AppSheet can use spreadsheets to store data, AppSheet is not a spreadsheet, so you shouldnât expect it to act like one. AppSheet treats spreadsheets more like a database.
In a database world, one approach would have each column of your reference table be a separate database table. To translate that to a spreadsheet, each column of your reference table would be its own worksheet of the workbook. In your app, youâd have a separate app table for each worksheet.
Worksheet JobStatus
JobStatus
Active
Pending
Closed
Worksheet Inspection Type
Inspection Type
Condition Assesment
Concrete casting
etcâŚ
Worksheet Inspector
Inspector
Ft
Sb
Ap
etcâŚ
Another legitimate approach in the database world would be to have a single database table (spreadsheet workbook) that has two columns: one that identifies the control set, the other that contains one value in that control set.
The reason I am trying to set up control sheets is that I do not know yet what are the control points for what I am doing (Aka- I am not sure if what I am doing is right). So a table format makes it a lot simpler for me to keep track of my control values.
From your explanation, now I understand that in Appsheet is better to store values vertically than horizontally in the tables. Like in the quote below. I can sort the table based on the initial control point and that would take care of âvisuallyâ keep it simpler at this point for me.
Once more- THANK YOU for your helpâŚ
Steve:
Worksheet ReferenceTable> > | Control | Value |> | - | - |> | JobStatus | Active |> | JobStatus | Pending |> | JobStatus | Closed |> | Inspection Type | Condition Assesment |> | Inspection Type | Concrete casting |> | Inspection Type | etc⌠|> | Inspector | Ft |> | Inspector | Sb |> | Inspector | Ap |> | Inspector | etc⌠|
Why duplicate the ClientName and ClientCode on the Jobs layer, youâve already got that information stored on the Client level.
If you need the value for some formulation, or to display it in an email or something⌠use a de-reference to get that value then - no need to duplicate like that.
All that does is add bloat to your app, and possibly stale data.
Once more thank you for your prompt response. (It is VERY appreciatedâŚ)
I am trying to create a couple of Appsheets apps for me (and two other people -dinosaurs- I work with), I thought prudent to make it as seamless as possible. (So - i hope - the less changes is introduced in their work flow, the less friction I would receive). I have to confess that we are no spring chickens anymore and data entry mistakes are starting to be noticed.
The reason for duplicating data is that other spreadsheets currently in use also read data from the same tables/spreadsheet I am trying to use to set up appsheet with. (Note: they only read client data and do not write to it).
Right now I am using a copy of the spreadsheets data to work with Appsheet. Hopefully, when I get it to work as needed, I can just redirect the spreadsheet to the original data an start making the transition then. (they can use the spreadsheet to input info or Appsheet. (I know appsheet should be al lot easier to use once the app is set up properly).
On the other hand, if I do not fill the field (or remove it from the table) there is a lot of spaghetti code I may have to get back into.
PS: Please excuse the long explanation. But, I thought it would give some perspective to my questions that may not seem Appsheet like standard useâŚ)
I think it wonât be possible to work with the same data inside and outside AppSheet unless is just for Data Analysis.
You should just work with one copy in order to understand how to migrate to AppSheet in the long term and then do it completely.
To âretrofitâ or ânormalizeâ your data is not that easy when you have a lot of rows and you were not used to Keys and relationship between tables.
Iâve done it and itâs not easy. But, if you get how things work inside AppSheet, I itâll be easier the more you try
I am exactly at that point:
a) old data (that is not pristine).
b) Appsheet that makes "all corners square ".
I am trying to work with what I have. This is requiring a lot of quirks and adjustments that are taking a toll on the time needed to get Appsheet to work.
But ânormalizingâ the data seems to be required after all.
Hi @Felix.P_Tong
I think this will be very usefull for you.
The last will help you to get the same ID that is created using UNIQUEID() inside AppSheet but directly to your excel/sheets
Then you can point tables using Lookup and other expressions.
I canât help you that much since my main language is spanish and I write formulas in that language on Excel. Also, it will require some excel/sheets skill that I hope you have.
In general, add a Key column to every table you have today and then mention the Key from one table on another (that will require another column) in order to generate a relationship between them
Also, I have no credit about the term!
Thank you for your prompt response to my message. (It is appreciatedâŚ)
Also, thank you for the reference information provided.
I browsed through it and found it âeye-openingâ.
I come from the spaghetti code spreadsheet world, and Appsheet seems to be a way to sort things out (still using spreadsheets) while keeping control of the data.