You can tweak the schema generated by AppSheet, but please do so carefully!

In the Data > Columns tab of the Editor, you'll see the column structure AppSheet has deduced for your data. This isn't always what you want. The best way to change it is to change your spreadsheet, but if that isn't possible, you may also decide to change the schema directly. These changes can include:

  • Column Name: There should rarely be a reason to change the field name. If the field name is not the same as the column header name in your spreadsheet, errors will occur. This capability is useful for advanced scenarios where the data comes from non-spreadsheet sources.

  • Column Type and Type Qualifier: There are approximately 20 different data types and we expect this to grow (You can find the official list here). The choice of data type affects the behavior of this field in the app. For example, you might want a particular text column to be a "LONGTEXT", or a particular image column to be a "THUMBNAIL".

  • App Formula: App formulas are expressions that are automatically computed in the app to populate the value of a column. This is not to be confused with spreadsheet formulas, which are computed in the backend spreadsheet. If a column has an app formula, the user of the app cannot provide a value to override the formula.

  • Primary Key: Keys should be chosen with care, as discussed in an earlier section. Note that only one column can be a key. You'll find composite columns at the bottom of the column list, and one of them may also be chosen as a key.

  • Read-Only, Hidden, and Required: Individual fields may be marked read-only to prevent updates in the app, hidden to prevent display, or required to mandate entry.

  • Column Description: The description, if provided, is shown to the user instead of the field name in forms. It is automatically populated from comments on the column header cells in the spreadsheet.

  • Initial Value: when a new entry is created in the app, the fields are populated with default initial values that are typically constants, but can be any supported expression that matches the expected column type. If an expression, it is recomputed until the user of the app explicitly provides a value.

  • Search: Indicates the data values in the column can be searched using the Search button. By default, Search is enabled for most text-based columns, but is not enabled for columns containing images, files, and the like. You can modify the Search attribute to control which columns are searchable. Search is text-based. It is both case-insensitive and diacritic-insensitive. Search is performed against the entire table, including column data values that aren't currently displayed on screen.

  • Scannable: Indicates a column can be filled by scanning a barcode or QRCode. By default, no column is scannable unless explicitly indicated.

  • Sheet Formula: Indicates a formula on the backend spreadsheet that is calculated (and the result shown in the app) once the user hits "Save" (or "Sync" if the app is set to "Delayed Sync").

Did this answer your question?