Effective use of column headers

The following sections provide guidance on the effective use of column headers:

See also: Display column headers in table views

How AppSheet identifies column headers

AppSheet uses the following heuristics to locate your spreadsheet's header row: 

  1. Assumes that rows containing bold text are more likely header rows.
    When all of your data values are bold text, this can mislead AppSheet header detection. In this case, making your header row bold, helps AppSheet find your header row. 
  2. Examines the data value in each cell of the row and tries to determine each cell's data type based on the cell's value.
    If AppSheet determines that the cell's value is one of the known data types, then it can be fairly confident the row contains data and is not a header.
  3. Examines the format value in each cell of the row.
    If the cell's format matches one of the known data types, then AppSheet can be fairly confident the row contains data and is not a header.
  4. Examines the text value in each cell of the row.
    If the cell's text value is a frequently occurring header word like "Name", "Address", "Amount", "Total", and so forth, AppSheet can be fairly confident the row is a header.
  5. Assumes rows that appear closer to the top of the sheet are more likely to be header rows.
    However, people sometimes create multi-row headers where the last header row is actually the most meaningful (or the most specific) header row, so AppSheet attempts to recognize multi-row headers. 

How AppSheet infers column types from headers

AppSheet infers the types of columns from the column header names as well as from the content of the rows. Especially in cases where there are no existing data rows, it is important to pay attention to the column header names.

There are special words in column headers that AppSheet will use to infer column data types. For example, a column header name Web Site suggests that the data is of the URL type. Currently, this only works with English but we intend to add similar capabilities for other languages in the future.

There are a few special cases to be aware of:

  • A column header ending with a question mark is inferred as a Yes/No data type. 
  • A column header ending with an exclamation mark is inferred as an action URL
  • A column header whose name is similar to another table already in the app may be inferred as a table Ref type. For example, if there is a table called Products and a new spreadsheet is added with a column called Product or Products, AppSheet will infer that it is a Ref type.

If you are building an app from a Google Form and your question is marked as Text, a similar inference process occurs on the question title.

Here is a complete list of field types, what they do, and the words AppSheet uses to infer the column data type.

Field type Description Words that infer column data type

Address

Full postal address that can be displayed as a map pin on a Google map. The completeness of the address will increase the accuracy of the map pin location.

address, where

ChangeCounter

Numeric counter value reflecting how many times an entry has been changed.

N/A

Configure type in editor

ChangeLocation

Latitude and longitude value reflecting the current GPS location where an entry has been changed.

N/A

Configure type in editor

ChangeTimestamp

Date and time value reflecting when an entry has been changed.

N/A

Configure type in editor

Color

Color value. By default the value can be any one of the standard color values: blue, green, orange, purple, red, or yellow. You can specify other color values when defining the field. You can populate the color field using an expression in the InitialValue or AppFormula field. That expression can compute the color value based on the value of other fields in the record.

blue, green, orange, purple, red, yellow
Date

Date value that specifies a year, month, and day.

birthday, dob, day, month, year
DateTime 

Date and time value that specifies a year, month, day, hour, minute, and second.

date, dates, day, days, month, months, year, years, timestamp
Decimal

Decimal number with a specified decimal precision.

altitude, altitudes, amount, amounts, amt, amts, age, ages, capacity, capacities, depth, depths,  displacement, displacements, height, heights, hours, latitude, latitudes, length, lengths, longitude, longitudes,  magnitude, magnitudes, mass, masses, population, populations, pop, qty, qtys, quantity, quantities, size, sizes, sum, sums, total, totals, units, weight, weights, width, widths, volume, volumes
Drawing

What it does: A Drawing field contains a drawing or notes that you can enter through your application. You can choose from a set of seven colors when entering the drawing.

Trigger words: 

depiction, diagram, drawing, illustration, layout, likeness, rendering, sketch
Duration What it does: A Duration field contains a time duration specified in hours, minutes, and seconds.
Trigger words: d
duration, timespan, period, elapse
Email

What it does: An Email field contains an email address. You can use the email address to send an email.

Trigger words: 

email, e-mail
Enum

What it does: An Enum field contains one value from a specified list of values. The list of values can be obtained in several ways.

  1. You can enter the list values manually in the app editor when you define the field.
  2. The list values can be obtained from a Data Validation rule you specify in your sheet.
  3. The list values can be obtained from another table in your AppSheet application.

Trigger words:

No trigger words. The field type is determined automatic if a Data Validation rule was specified in your sheet; otherwise, you must specify the field type in the app editor.
EnumList

One or more values from a specified list of values. You specify the list of values from which the user can pick as described for Enum above.

N/A

Configure type in editor

File

Reference to a data file in your cloud drive, such as a PDF or document file, by adding a string indicating the location of the file in relation to the spreadsheet. AppSheet will locate the file and add a link to it from the app. For example: Reference/guide.pdf

file, files
Image

Reference  to an image in .jpg, .png, or .gif format. It allows you to capture images from your mobile device's camera or camera roll.

image, images, picture, pictures, photograph, photographs, photo, photos, figure, figures, fig, figs, icon, icons, illustration, illustrations, snapshot, snapshots
LatLong

Latitude and longitude value as 48.5564, -122.3421. It allows you to capture the current location from your mobile device's GPS. The field value can be displayed as a map pin on Google Maps.

latlong, geolocation
LongText Long multi-line text values. notation, notations, note, notes, desc, description, descriptions, comment, comments
Name

Name of a person, place, or thing.

first, givenname, given-name, last, middle, mi, name, names, surname, surnames
Number

Positive or negative integer value.

altitude, altitudes, amount, amounts, amt, amts, age, ages, capacity, capacities, depth, depths, displacement, displacements, height, heights, hours, latitude, latitudes, length, lengths, longitude, longitudes,  magnitude, magnitudes, mass, masses, population, populations, pop, qty, qtys, quantity, quantities, size, sizes, sum, sums, total, totals, units, weight, weights, width, widths, volume, volumes
Percent

Percent value with a specified decimal precision.

%, discount, discounts, interest, percent, percentage, chance, percentages, probability, probabilities, quota, quotas, split
Phone

Telephone number value. Your application can call or text this number.

cell, cellphone, fax, mobile, pager, phone, phonenumber, tdd, tel, telephone, telex, tty
Postal Code

ZIP code or postal code value. Typically, the postal code is part of a multi-column field consisting of a Street column, City column, State/Province column, optional Country column, and a Postal Code column. AppSheet creates a multi-column Address field that combines the values from these columns.

zip, zipcode, postalcode
Price

Decimal number with a specified decimal precision and currency symbol.

amount, amounts, amt, amts, balance, balances, bonus, bonuses, cash, commission, commissions, compensation, contribution, contributions, cost, costs,  discount, discounts, dividend, dividends, donation, donations, dues, duty, duties, earnings, excise, expense, expenses, fee, fees, fine, fines, gain, gains, gross, indemnity, income, levy, levies, loss, losses, pay, payment, payments, payoff, pension, pledge, pledges, premium, premiums, price, prices,  proceeds, profit, profits, receipts, reimbursement, reimbursements, remittance, remittances, remuneration, remunerations, rent, rents, revenue, revenues, royality, royalities, salary, salaries, sales, stipend, stipends, subtotal, subtotals, tariff, tariffs, tax, taxes, tip, tips, tithe, tithes, toll, tolls, total, totals, value, values, wage, wages, winnings
Ref

Reference to a specific record in another table. When you define the Ref field, you specify the name of the target table. Each Ref field value is the key value of a specific record in the target table. A Ref field is the equivalent of a foreign key field in a relational database.

N/A

Configure type in editor

Signature

Signature. It allows you to capture a signature on your mobile device. Each captured signature is saved to its own file on the app creator’s Google Drive. The name of this file is stored in the Signature field.

signature, signatures
Thumbnail

Small image. It is exactly like an Image field except the captured images are expected to be smaller.

thumbnail, thumbnails, logo, logos
Time

Time value that specifies an hour, minute, and second.

hour, hours, mins, minute, minutes, second, seconds, secs, time, times
URL

URL value. When an application user clicks the field value, the default device browser will load the page

site, sites, URL, URLs, web, website, websites
Yes/No

Value of True, False, or Not specified. The field value is displayed as Y (True), N (False), or N/A (Not specified). A Yes/No field is the equivalent of a Boolean field in a relational database.

Starts with "has" or "is" or ends with "?"

Was this helpful?

How can we improve it?

Need more help?

Try these next steps:

Search
Clear search
Close search
Main menu
10004757850167350557
true
Search Help Center
true
true
true
false
false