Tables

Research & analysis Updated 25 Aug 2026

Build a saved grid of the symbols you follow: choose and order the columns, group the rows by sector or cap band, and read the summary rows underneath. Add formula columns, compare each name against its peers, and share it with your team.

Open Tables

A Table is a grid you build yourself: you choose the symbols, you choose the columns and their order, you decide how the rows group, and the summary rows underneath fold it all up. It is saved, it is shareable, and it reloads exactly as you left it.

Tables is not the same thing as a Watchlist or as Realtime Tables. A watchlist is an ordered list of symbols you follow. A realtime table is a free-form spreadsheet whose cells you type by hand. A Table is neither: the rows are symbols, but every cell is market data, and the point of it is the columns and the totals.

Building one

  1. My > Tables > + New Table, and give it a name you will recognise in the list.
  2. + Symbol opens the global symbol search. Pick from the results rather than typing a ticker — a ticker can belong to more than one listing, and picking binds the row to the exact instrument you meant.
  3. Columns chooses what is shown. Tick fields on the left, drag them into order on the right.
  4. Group and Summary then reshape what you have built.

A new table starts with a sensible eight columns so it is never blank. The toolbar runs in the order you use it: Symbol and Columns build the table, Group and Summary reshape it.

Columns

The picker searches over 200 fields drawn from prices, technicals, fundamentals and company data. The Selected side is the table's real column order — drag by the handle to rearrange, and set per-column shading from the same row.

The first column is frozen. Pan sideways through a wide table and the ticker stays where it is, so you never lose track of which row you are reading.

Custom columns

+ Custom builds a column from a formula across any fields you like.

You can useExamples
Arithmetic and brackets+ - * / % ^, (a + b) * 2
Functionsabs round floor ceil sqrt ln log exp pow min max avg coalesce iif
Any field in the pickermarket_capitalization / revenue_ttm
Comparisonsiif(pe_ratio > 30, 1, 0)

Click a field in the list to insert its code at the cursor. The formula is checked as you type and tells you which fields it resolved.

A blank stays blank. If a field is empty for a symbol, or a formula divides by zero, that cell is left empty rather than counted as zero. Treating missing data as zero would quietly drag down every average built on top of it.

Two settings decide how the column behaves. Format controls how it reads — number, percent, compact (1.23B) or money. Summaries asks what kind of quantity it is:

SettingMeaningSummary rows offered
RatioA rate or a multiple. Adding the rows up would be meaningless.Average, weighted average, min, max, median, count
AmountA quantity of something, so a total is real.All of the above, plus Sum

Peer columns

+ Peer shows where each row stands among the rows it is grouped with: z-score, rank, percentile, percent of the group median, or distance from the group mean.

This is the comparison a screener cannot make. A screener judges every name against a fixed rule, on its own. A peer column judges a name against the cohort you assembled — "expensive for a bank" rather than "expensive".

With no grouping, the peer set is the whole table. A z-score is left blank for a group of one, or a group where every value is the same, because neither is a distribution to score against.

Growth and margins

The Growth & Margins group in the picker is computed from the full fundamentals history rather than fetched from a single field: revenue, EPS and net-income growth year on year; 3- and 5-year CAGRs; TTM revenue, EPS and net income; gross, operating and net margin; and latest-quarter year-on-year.

Two of these deliberately return blank rather than a misleading number. A growth rate through a zero or negative base is not a percentage of anything, so it is left empty. A TTM figure with a missing quarter is voided entirely rather than quietly summing three.

Grouping

Group arranges the rows by an attribute: sector, industry, GICS sector, market-cap band, asset type, currency or exchange. Each group header shows how much of the table it represents, by row count and by market cap.

Sorting a grouped table sorts inside each group. The groups hold their positions — "worst month" nearly always means "worst within each group I set up", not "throw my groups away".

Anything the data cannot classify collects in Unclassified, which always sorts last. Currency pairs and some funds land there because they have no sector.

Summary rows

Summary turns on any combination of Average, Maximum, Min, Sum, Count, Median and Weighted Average. They appear under every group and again under the whole table. Turn them all off and they disappear.

Weighted Average is market-cap weighted. For a P/E or a yield it is usually the number you actually want — a plain average lets a tiny company move the figure as much as the largest holding in the table.

Not every statistic is offered for every column, on purpose. Summing a column of P/E ratios or percentage changes produces a number that means nothing, so Sum is left blank there and filled in for market cap, volume and share counts.

Summary rows always cover the whole table, never the page you are looking at. Page 2 of a table shows the same totals as page 1. Where a total needs a caveat — mixed currencies, or funds excluded — a warning marker appears next to it. Click it and it explains itself.

Why ETFs are left out of market-cap totals

An ETF carries a sector and a market capitalisation like any other row, but that figure is assets under management — a different quantity, and one that double-counts holdings which are often already rows in the same table. Including it inflated a sector subtotal by 80% in testing, so funds are excluded from market-cap sums, from cap weighting, and from the weight denominator. The group header says when it has done so.

Market capitalisation is stored in each symbol's local currency. A table mixing currencies flags its market-cap total rather than quietly adding dollars to yen.

Shading

Each column carries its own shading, set from the Columns dialog:

OptionUse it for
Heat: high goodReturns, growth, margins — green at the top of the range.
Heat: low goodP/E, leverage, anything where low is the good end.
In-cell barMagnitudes — volume, market cap.
Positive / negativeA plain split at zero.

Shading is scaled across the whole table, so a value's colour means the same thing on every page. Where a column's range crosses zero, zero is the neutral point rather than the middle of the range.

Live prices

Price and volume update in real time, and any custom column that depends on them recalculates with every tick. The day change is measured against the previous close, not against whatever the price was when you opened the page.

Fundamentals, growth and peer columns do not tick — they refresh when the table reloads. Summary rows are calculated over the whole table on the server, so they also update on reload rather than on every price move.

Paging

Ungrouped, a page is a number of rows. Grouped, a page is a number of whole groups — because half a group has no honest subtotal. The page-size selector says which it currently means.

Sharing and export

Share gives a teammate or a whole team access to a table. Editors can change symbols, columns and grouping; viewers see the table exactly as you built it, with the editing controls hidden. Only the owner can delete it.

The download icon exports the current view to CSV, summary rows included.

Questions we get

Why is a column completely blank?
Because the feed does not carry that field for those symbols. Fundamentals cover roughly 53,000 of our symbols, so funds, currency pairs and many non-US listings will be empty for revenue, margins and growth. Fields that are empty for every symbol are hidden from the picker altogether, so a blank column always means missing data for your rows, never a field that never works.
GICS Sector puts nearly everything in Unclassified.
GICS is only populated for about 8% of the global universe — it is well covered for US large caps and thin everywhere else. Use Sector or Industry instead: both are populated for about 90% of the companies we carry, and higher still among the names people actually track.
Why does Sum show a dash for my P/E column?
Because adding P/E ratios together is not a meaningful number. Sum is offered for quantities that genuinely total — market cap, volume, share counts, revenue — and withheld for rates and multiples. Use Weighted Average or Median for those instead.
My average and my weighted average disagree.
They should. The plain average gives every row equal weight; the weighted average weights each row by market cap. A table where one name is 70% of the capitalisation will show a large gap, and the weighted figure is usually the one that answers the question you were asking.
Can I base a peer column on a custom column?
No. Peer standings are worked out before custom formulas are evaluated, so basing one on a formula would be circular. Base the peer column on an ordinary field, or write the comparison into the formula itself.
I added a column and my formula disappeared.
It should not — custom and peer columns survive any change to the column selection, and are only removed when you remove them explicitly. If you have seen otherwise, tell us the table name.
Does this work on a phone?
Yes. The grid pans sideways with the ticker frozen, the dialogs go full-width, and the controls are sized for touch. A wide table stays a wide table on a phone — that is deliberate, because collapsing it into cards would destroy the column-to-column comparison that is the whole point.

Was this article helpful?

Recently viewed

Nothing yet.