Semaphor

Customize table columns

Hide, reorder, rename and sort table columns for yourself, without changing the dashboard for anyone else.

When you view a dashboard, you can arrange a table the way you like it: hide the columns you don't need, put the important ones first, give them names that make sense to you, and sort. Your table is remembered for you, and your downloads match it. Nobody else's table changes.

How to

Customize a table

Anyone viewing a dashboard can do this, in the app or in a dashboard embedded in your product. It works on Table and Detail Table cards.

Top accountsACCOUNTANNUAL REVENUE ▾OWNERSEGMENTNorthwind$412kDanaMidAcme Pacific$388kLuisEntContoso$301kDanaMidFabrikam$254kMeiSMBTailspin$198kLuisSMB1ColumnsSaved to your view only.AccountAnnual revenuewas ARROwnerRegionSegmentNew↺ Reset to defaultDone23451Your columnsA columns icon with a dot. Click itto change your columns again.2Drag to reorderOr focus the grip and pressAlt with Up or Down.3Uncheck to hideOne column always stays visible.4Click a name to renameThe author’s name staysunderneath: was ARR.5NewA column the author added afteryou arranged the table.
Customize columns opens the Columns panel next to the card. The table changes as you go; nobody else's table does.
  1. Open the card's ··· menu and choose Customize columns.
  2. In the Columns panel, arrange the columns:
    • Reorder: drag a row up or down. With the keyboard, focus a row's grip and press Alt with Up or Down.
    • Hide: uncheck a column. At least one column always stays visible.
    • Rename: click a column name and type a new one, up to 120 characters. Press Enter to keep it.
  3. Click Done.

The table updates as you go. To start over, click Reset to default in the panel, or choose Reset columns from the card's ··· menu. The table goes back to the way the author built it.

Once you've hidden, reordered or renamed columns, a columns icon with a dot appears in the card header. Click it to open the panel again.

Order the rows

Sort a table

Click a column header to sort by it. Click again to reverse the order. What a sort covers, and whether it's kept, depends on how the table was built.

TableWhat a header sort does
Built in the visual builderSorts all of the data, not only the page you see. The sort is kept.
SQL and Python, loading all rowsSorts all the rows. The sort is kept.
SQL and Python, paging through resultsReorders the rows on the current page only. The sort is not kept.

A sort shows as the arrow in its column header. Even when the author has turned off column customization for a table, you can still sort it; that sort lasts for your visit.

Only for you

Your table is remembered, and your downloads match it

Your columns, and your sort where the table keeps it, are saved for you on that dashboard. They're there on every visit and on every device. The dashboard itself is never edited.

The author’s tableas built in the editorAccountRegionOwnerARRYour tableRegion hidden, ARR renamed and movedAccountAnnual revenueOwnerYour downloadsCSV of any size, and PDFAccountAnnual revenueOwnerEveryone elsestill sees the author’s tableAccountRegionOwnerARRyoudownloadunchanged
Your arrangement belongs to you: it follows you to every download, and nobody else's table changes.

Downloads use your columns

Once you've customized a table, the Download item in the card's ··· menu says your columns. CSV files of any size and PDFs include only your visible columns, in your order, with your names.

See CSV Downloads for file formats and encodings.

Save several arrangements

To keep your columns together with filters, click selections and the sheet, and to switch between several arrangements, use Bookmarks.

Grouped columns

Pivoted and comparison columns

When a table spreads a metric across several columns, such as one column per month, those columns move together.

Pivoted columns follow their metric

Hiding, renaming or moving the metric applies to all of its pivoted columns. The pivoted columns keep their order.

Comparisons follow their metric

A comparison column, such as the change from last period, hides, moves and renames with the metric it compares.

Columns the author hid stay hidden

They aren’t available to viewers, so they don’t appear in the panel.

Hiding is not access control

Hiding a column changes what you see, not what data you can access. Your access stays exactly as it was.

Kept or not

Changes that last for this visit only

The Columns panel tells you whether your changes are kept. Usually it says Saved to your view only. When it says Applies to this visit only., your changes apply until you leave the dashboard and aren't saved.

This happens when:

  • the embedded dashboard's token doesn't identify a specific person,
  • the person the token names hasn't been set up yet, or
  • an administrator is viewing the dashboard as another user. They see that user's saved columns, and changes they make don't overwrite them.

For authors

Turn off column customization

Column customization is on by default for every Table and Detail Table, including tables you built earlier. Turn it off for a table whose columns should stay exactly as you designed them.

  1. Open the card in the visual editor.
  2. Open the table's settings and go to the Columns tab.
  3. Switch off Let viewers customize columns.
  4. Save the card.

Viewers then no longer see Customize columns in that card's menu, and the table opens with your columns and your sort. They can still click a column header to sort for their visit.

When viewers have saved layouts for a table, turning this off, or removing the table or one of its columns, shows Affects saved views next to Save while you edit. See which saved views an edit affects.

For developers

Remember columns in embedded dashboards

To remember columns for each person, the token your app requests must name that person: an organization user with orgUserId, or a tenant user who exists in Semaphor with tenantId and endUserId.

Token request
const tokenRequest = {
  projectId: PROJECT_ID,
  projectSecret: PROJECT_SECRET,
  tenantId: 'tenant_acme',
  endUserId: 'user_jane', // the person signed in to your app
};

A token that names only a tenant, or no one at all, still lets people customize columns; their changes last for the visit. To create tenant users the first time they open a dashboard, request the token with endUserEmail, tenantId and autoCreateEndUser: true. See the Token API reference for every option, and Token integration for how a token identifies a person.