Builder Lesson 31 of 63 ⏱ 5 min ▶ Video

Dataset prep — add, reorder, rename, sort

Lesson summary

The column-shaping work that comes before filters or calculations. Add, reorder, rename, sort. Five minutes here saves recurring friction every time someone opens the report.

By the end of this lesson

  • A clean column set in the order your readers expect
  • Sort priority that surfaces the most important rows first

You'll need

  • A saved report to work on — easiest with the one from Lesson 1
  • Composer role on the app

Background

This lesson picks up from Lesson 1 — the report you saved there is the working example. Open it from the library, click Edit, and you're back in Composer with everything you saved.

Dataset prep is the work that comes between picking fields and asking your report to do anything more interesting. Four small operations cover most of it:

  • Add and remove fields to get the column set right.
  • Reorder so columns read top-to-bottom in the order your audience expects.
  • Rename column headers from database names (ticket_open_time) to readable ones (Open time).
  • Sort — single-column or multi-level — to surface the rows that matter most.

Every one of these acts on a field card in the Selected Data pane. Same object, four operations.

Anatomy of a field card

Each column in your report is one card. Knowing what's on it — and where — makes the rest of the lesson click into place:

Open time
/Dates/ticket_open_time
Sort Descending Criteria ? = [Last 3 Months]
≡ Drag handle (left)
Drag the hamburger icon to reorder. Higher card = primary sort, leftmost column in output.
⋮ Action menu (right)
Sort By, Visible toggle, Add criteria, Add formula, Delete. Covered across Lessons 2–4.
Field name (renameable)
Click to edit. Changes the displayed header; the underlying database field stays the same.
Source path (read-only)
Where the field lives in the report tree. Useful when two columns share a name.
Badges
Appear when sort or criteria are applied. The card tells you what's been done to it without opening the action menu.

The action menu (the three dots on the right) is the home for everything you do to a column. This lesson uses two of its options — Sort By and Delete. The other three are powerful enough to need their own lessons: Visible and Add formula both come up in Lesson 4, and Add criteria is the entirety of Lesson 3.

One last orientation note: every action you take here re-runs the preview query immediately. The top-50 sample updates live as you reorder, rename, sort, or delete — no save needed to see the change.

Haven't watched the video yet? Start there — about five minutes, click-by-click. The rest of this page anchors what you saw.

Stuck on a particular column or sort behavior? Email team@dashboardfox.com. Real human, same business day.

Do it

  1. Add and remove fields

    Click any field in the Select Fields tree on the left to add it. It appears as a card in the Selected Data pane, and the preview updates immediately. Click another field, and another — each becomes a new card stacked below the previous one. The same field can be added more than once (you'll use that pattern in Lesson 4); for now, one of each is fine.

    To remove a field, open its action menu (the three dots on the right of the card) and click Delete. The card disappears, the preview rebuilds without it.

    If you delete the wrong field by accident, don't panic — until you save, refreshing the browser reloads the on-disk version with everything back. Only an Overwrite save makes a deletion permanent.

  2. Reorder fields

    The order of cards top-to-bottom equals the order of columns left-to-right in the preview. To reorder, hover over a card to reveal the drag handle on its left edge (the three horizontal lines, often called the hamburger icon). Click and drag to move the card up or down. The preview updates immediately.

    Column order isn't just cosmetic. It controls two things that matter later:

    • Reading order in the grid. Readers scan left-to-right and expect the most important columns first. A ticket report that opens with ticket ID, then customer, then status, reads better than one that opens with assignee, channel, location.
    • Visualization behavior. Module 8's charts and pivots use card order to decide which field is the argument (axis), which is the value (measure), and which are series. Get column order right now and you'll need fewer adjustments later.
  3. Rename column headers

    Database field names like ticket_open_time or cust_id are useful when you're configuring an app; they're not useful when a reader is scanning a report. Click directly on the field name at the top of a card to edit it inline. Type the new name (Open time, Customer ID) and click outside the field to apply.

    The rename is display-only — the underlying database field doesn't change, no SQL runs, nothing breaks downstream. You can rename the same column twice, three times, until the name reads right. The source path shown just under the field name doesn't change either; that's how you'll always know which underlying field is which, even after renaming.

  4. Sort a single column

    Open the action menu on the card you want to sort. The Sort By section at the top has two options: Asc. (ascending — A→Z, oldest first, smallest first) and Desc. (descending — Z→A, newest first, largest first). Click the one you want.

    Two cues confirm the sort took effect: a Sort Ascending or Sort Descending badge appears on the card, and the preview re-orders its rows.

    To remove the sort, open the same menu and click the active sort option a second time. The badge disappears, and rows fall back to your database's default order — often insertion order, not guaranteed to be meaningful.

  5. Multi-level sort — primary, secondary, tertiary

    Sort more than one column and Composer treats the sorts in priority order — but the priority isn't a separate setting. The card higher in the Selected Data list is the primary sort. The card below it is the secondary. Below that, tertiary. And so on.

    If you sort Open time descending and then sort Customer ascending, the report sorts first by Open time (newest first), and within rows that share an Open time, by Customer (A→Z). To swap which one wins, drag Customer above Open time with its drag handle — the primary and secondary roles flip immediately.

    This is one of those things that's faster to try than to read about. Sort two columns and drag them past each other once; the model clicks.

  6. Save your work

    Click the red Save button in the top-right. You have two options:

    • Overwrite — lock these changes into the existing report. The default and the right choice most of the time.
    • Save As — create a new report (with a new name) that has these changes, leaving the original untouched. Useful for spinning a variant off an existing report; the workhorse pattern in Module 11.

    If you made changes you don't want, just refresh the browser — the on-disk version reloads and your edits disappear. Until you save, you can always back out.

Make it real

Habits that make dataset prep something you do once instead of revisit constantly.

Save after every meaningful change

Composer doesn't auto-save. If you reorder six columns and rename four, that's ten changes that live only in the browser until you save. Refresh, navigate away, or close the tab and they're gone. The habit is small: save after each meaningful operation. Worst-case recovery becomes "I lost the last small step" instead of "I lost the whole session."

Rename for the audience, not for you

You know what cust_id_legacy_2018 means. Your audience doesn't. Rename every column with a non-obvious database name to something a stranger could parse in two seconds. Sometimes that means more than removing underscores — tkt_status_cdTicket status is a real translation, not a typo fix.

If a column's database name is already friendly (customer, fault, status), leave it. Renaming for the sake of renaming makes the report harder to maintain.

Column order doubles as a story

Reports read like sentences. The first column sets context (who or what), the middle columns add detail, the last columns are often dates or totals. A report whose columns are in semantic order needs less explanation. A reader scanning Ticket ID | Customer | Status | Assignee | Open time understands the row at a glance; the same fields in a different order don't tell the same story.

Sort to surface the right rows first

The top 50 rows shown in the preview, and the first page anyone sees in the full document, are whatever your sort order shows. Sort descending on the most-recent-event field, or ascending on a priority field, so the rows that matter most are visible without scrolling. For a tickets report: Open time descending puts new issues at the top, which is almost always what people want.

The action menu has more than dataset prep

Sort By and Delete are dataset-prep operations. The rest of the menu lives in later lessons:

  • Add criteria — the entire Lesson 3. Hardcoded filters and dynamic prompts.
  • Add formula — covered in Lesson 4. Calculations, aggregates, derived columns.
  • Visible — also Lesson 4. Hide a column from output while still using it for criteria. Sounds odd until you need it.

You don't need any of these for a clean dataset; they're just there in the same menu because that's where Composer puts everything you can do to a column.

Beyond the per-column action menu, the Composer's top-right toolbar has the Data Prep dropdown (Top N, Simple Pivot, Select Distinct, Field Builder — Lesson 5) and the visualization controls that take a report from grid to chart (Module 8). Both come after the dataset itself is in good shape, which is the work of this lesson.

If you're stuck

The classic stumbles, in roughly the order they show up.

I refreshed and lost my changes

Composer doesn't auto-save. Until you click Save → Overwrite (or Save As), your edits live only in the browser. Refresh, navigate away, or close the tab and they're gone. The fix is habit: save after each meaningful operation. There's no undo for an unsaved-and-refreshed session.

My sort isn't working the way I expected

Almost always card position. The sort is sound — it's just not the primary sort because another sorted card is above it. Look at the Selected Data pane and find which sorted card is on top. If you want a different one to be primary, drag it above the others. Removing a sort you no longer want (click the active sort option a second time) also clears up the priority chain.

I renamed a column but a saved dashboard still shows the old name

Each report has its own column names. Renaming in Composer affects only the report you're editing. A dashboard widget pointing at a different report (or a different copy of this one) shows whatever was set on its source. If the dashboard widget should match, open the widget's source report and rename there too. Module 11 covers the dashboard-side of this.

Preview is empty but the cards look right

Two common causes. Either the underlying tables have no rows that satisfy your joined fields together (e.g., every assignee record happens to have a null on a field you added from a different folder), or you accidentally introduced a join that excludes everything. Remove cards one at a time until the preview comes back — the last one you removed is likely the culprit. If removing it doesn't help, the issue is upstream in the app, not the report; Build your first app in Module 3 covers join behavior.

I deleted a field by accident and saved

Re-add the field from the report tree — the card returns immediately. What doesn't come back: sort, rename, or criteria you'd attached to the deleted card, since those were properties of that specific card. Redo whichever of those you need and save again. Going forward, save before risky changes so you can refresh to roll back.

Two of my columns have the same name

Common when you add the same field twice (for a count-by pattern, covered in Lesson 4) or when two folders both expose a name field. The fix is renaming — give the two cards distinct display names (Customer name and Assignee name, or Ticket count and Tickets). The source path under each card tells you which underlying field each one points at, even when the display names look identical.

None of these match my situation

Email team@dashboardfox.com with a screenshot of your Selected Data pane and what you were trying to do. We'll trace it. Same business day reply.

7-day free trial — no credit card

Built lean. Priced fairly. Supported by humans.

Full access to all features. No credit card required.

Prefer no subscriptions & full control? Self-hosted from $4,995 one-time →

Click once to extend to 14 days — need more time? Just reach out.

25+ years building BI tools Support from the team that builds it Available in US & EU regions
DashboardFox mascot