so is it possible to have a table with changi...

(Ellen Sligh) #1

so is it possible to have a table with changing column headers?

Probably not but I have a table in a spreadsheet whose titles change according to a formula based on a list filled in another table - in other words, a column list of texts on one table turns into column headers on another.

Does appsheet work with that?

(Dinh Nguyen Nguyen) #2

@Ellen_Sligh1 Hi Ellen, since AppSheet locates columns based on indices (column 1, column 2, column 3, etc.), theoretically speaking this should work. However, it is definitely not recommended, as it might lead to subtle bugs, especially if you need to change the column structure of your table and regenerate its schema.

Apart from the technical issues, another reason why we discourage this is because the column headers are meant to inform the app users of the type of information they are providing/viewing. For instance, suppose the column header is originally “I agree”, and upon seeing this in a form view, the app user selects “Yes”. However, later on the column header in the underlying spreadsheet might change to “I disagree”, even though the data provided by the user remains “Yes”. Obviously this can lead to serious misunderstanding and even misuse of the information provided by the app user.

(Ellen Sligh) #3

so theoretically possible.

Type of data considered. Thanks for the reply

(Steven Coile) #4

@Ellen_Sligh1 I would question @Harry’s assertion that AppSheet locates (worksheet) columns by position. Even if so, your scheme of changing (worksheet) column headers would all but prevent you from ever using Regenerate on the app columns.

What are you trying to accomplish?

(Aleksi Alkio) #5

Normally users are using this with the “Display name” when the app needs to work with different languages. Then you need to change the column “header” name with the formula.

(Dinh Nguyen Nguyen) #6

+Steve Coile @Ellen_Sligh1 To clarify, when you regenerate column structure, AppSheet relies on the column headers to deduce the names, types, and positions of columns in the table. However, once the table schema has been regenerated and saved, subsequent operations on the table rely on column indices to improve performance, since reading column headers is actually quite time-consuming. This is why any time there’s a change in the column structure of the table (adding, deleting, moving, or renaming columns), the table schema must be regenerated again, since the indices used by AppSheet are no longer applicable.

(Bellave Jayaram) #7

@Ellen_Sligh1, There may be other ways of structuring your sheets/columns that doesn’t modify the column names so as +Steve Coile said, if you describe what the app is for and what the users need to do, it would be better.