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:
- 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. - 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. - 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. - 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. - 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 calledProducts
and a new spreadsheet is added with a column calledProduct
orProducts
, AppSheet will infer that it is aRef
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 |
|
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 |
|
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 |
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 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 Trigger words: |
email, e-mail |
Enum |
What it does: An
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 |
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: |
file, files |
Image |
Reference to an image in |
image, images, picture, pictures, photograph, photographs, photo, photos, figure, figures, fig, figs, icon, icons, illustration, illustrations, snapshot, snapshots |
LatLong |
Latitude and longitude value as |
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 |
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 |
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, signatures |
Thumbnail |
Small image. It is exactly like an |
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 |
Starts with "has" or "is" or ends with "?" |