Anyi Data docs

Import a file or pick a public dataset, shape it into a pivot table, and narrow it down. Every change applies at once. These use the app at anyi.tanji.systems/app/, in a laptop or desktop browser.

Start here

A fresh visit opens the Superstore profit pivot, with negative Profit values highlighted in red. A returning view keeps your saved settings.

Anyi opens on a small sample, already grouped. The ribbon runs left to right: Sources and Import bring data in; Details names it, Views saves an analysis and Export downloads it; Fields, Filters and Sort shape the table; Pivot, Layout and Levels group it. Each of Fields, Filters, Sort and Pivot opens that tab of the Grid Inspector beside the table. Press a column’s header for its own Column Inspector.

Import a file or pick a dataset

Import a file

Press Import, or drop a file on the window. Each file opens in a tab of its own.

  • CSV, TSV and text (.csv, .tsv, .txt): the delimiter, header and each column’s type are detected.
  • JSON (.json) and JSON Lines (.jsonl, .ndjson): an array of records, or one record per line.
  • Arrow and Feather (.arrow, .feather, .ipc): typed columns, read as they are.
  • Parquet (.parquet): queried in place, read from your disk as it is needed, so a file of any size opens, filters, sorts and pivots.

CSV, JSON and Arrow load into DuckDB, so they must fit its memory, and then pivot, filter and sort like any dataset. A file is read in this browser and never uploaded; after a reload its tab asks for the file again. In Details you can turn a text column into numbers or dates; the file opens again to convert it.

Pick a public dataset

Sources lists each dataset and the ways to open it: every row, or a pivot ready to change. Type to narrow the list; Up/Down and Enter pick. A large dataset downloads the first time you pivot, filter or sort it, with progress over the table, and is kept on this device for next time.

Move around the table

  • Arrow keys move between cells; Page Up and Page Down move a screen; Home and End reach the ends of a row, and with Ctrl (⌘ on a Mac) the first or last row.
  • The status bar names what is open, how it is grouped, its size and engine, then the current row and where the data comes from. First, Last and Go to row sit at its right. A dataset’s ready-made view puts the question it answers, and a next step to try, at the right of its tab strip until you change it.
  • Folding a pivot leaves gaps in its row numbers: they keep their positions in the fully expanded result. Go to row opens a folded target’s ancestors. These are result positions, not original record IDs; sorting or regrouping can change them.
  • Select as in a spreadsheet: drag across cells, or Shift+click or Shift+arrows from the current cell; press or drag on row numbers for whole rows; Shift- or ⌘-click a header for whole columns; Ctrl+A for everything. The status bar says how many rows and columns are selected; Escape clears it.
  • Ctrl+C copies the selection as tab-separated text, which a spreadsheet pastes as cells (whole columns lead with their names; at most 100,000 rows), or else the cell; with Shift, the whole row as JSON.
  • In a pivot, Enter on a group opens or closes it.
  • Drag a header sideways to move its column, or a group’s band to move the whole group; it lands only between its siblings, so no group is split. Drag a header’s right edge to resize its column, or press Alt+Left/Right; double-click the edge, or press Alt+Backspace, to restore it.

Show, hide and order fields

Fields lists every column with its type, as a tree: a dataset’s groups, or a pivot’s split values (Consumer, then Furniture under it). Check a field to show it; a group’s checkbox shows or hides every field in it (a dash when some show), and the one at the top every field. The triangle folds a group, Fold all every group, and the search narrows the list to matching names. Drag a row’s grip (the dots at its right) to move the field, or a group’s to move the whole group; a move stays among its siblings, and in a pivot it moves under every parent; with the list focused, the keys walk it as a tree (see the keyboard reference), and a row’s gear, Enter or a double-click opens its Column Inspector beside the panel. A pivot’s Fields reads as its table does: Groups (the fields its rows group by), Measures (each once: its checkbox, move and gear act in every split) and Column splits, folded, for hiding one split’s column. A sorted field shows its sort icon (and its key’s place), a filtered one the funnel. A long name is cut short; hover for the whole name.

Filter rows

A pivot measure has two sets of settings. Its gear in the Pivot tab (or a press on its row), or a header of any column it makes, opens its shared settings, for every split; Applies to: This column narrows them to that one column. The row’s marks show its sort and highlight. Shared (source) filters keep original rows before grouping and recalculate totals. A column’s own filter matches completed aggregates, keeping their parent rows for context without changing totals. Use either or both; the Filters tab lists both stages, and Clear clears both.

Build a filter

Filters has two kinds of source filter, in their own sections, and every one applies. Column filters are each column’s own, set from its header’s Column Inspector or with Add column filter…; pressing one opens that column. Grid filters are the builder below them. Column pickers list the columns as Fields does: under their group, each with its type.

The Grid filters builder joins conditions on any columns, with one nested group for a mixed rule. Each line reads as a sentence (Where Region is any of West, East, and Sales > 500), with how many source rows that condition keeps on its own at the right. Each group has one Match all / any at its heading (available once it holds two conditions); the lines after the first say the join. A nested group’s × in its heading removes the whole group. Add filter… adds a condition on the column you pick and opens it in the Condition popout beside its line; press a condition to edit it again, or press F anywhere outside a field to start one. Column filters set in the Column Inspector are listed with them, marked column. Under Results, Add result filter… adds a condition on a pivot result (Consumer › Furniture › Sales > 1000) and edits it in the same popout. Number and date fields show the column’s range as a hint. A condition still waiting for a value is skipped, and one closed before it has a value goes away.

Filter one column

A column with few values filters by picking them from a list with counts: keep or drop the picks, and use only (Alt+Enter) to pick one value alone. Others take a condition such as contains, between or is empty. A date-and-time column compares whole days: on a day keeps every time that day. Blank text counts as empty.

Sort rows

A measure’s shared sort uses its aggregate across all splits; a column’s own sort (This column) uses that one derived column. For example, sort by Profit across all categories, then by Furniture’s Profit to break ties. Both appear as keys in the Sort tab.

Sort lists the keys in order; Add sort column… adds one. Rows sort by the first key, then the next for ties; drag a key, or press Alt+Up/Down on it, to change the order. Empty values sort last either way. In a pivot, sorting never regroups: a measure orders the groups at every level, and a level’s column (City, say) orders only that level, within each parent, so states and regions stay in their order. The Level layout sorts across every group.

Build a pivot

In Pivot, Rows group into a tree, outermost first; Columns split the measures by each value; Measures pair a column with an aggregate (sum, average, median, min, max, count); with none, each group shows its Count of rows. Type in an Add field to narrow its list; Up/Down and Enter add. Drag a chip to reorder it or move it between Rows and Columns (the others slide aside), or press Alt+Left/Right; Alt+Up/Down reorders and Delete removes.

Columns that cannot group, such as a measure or an ID that differs on nearly every row, are listed under Not available, marked ⊘, with the reason. An empty value shows as (empty); text that reads “(empty)” is quoted. The table’s corner names the column fields (Segment, Category) above the row labels.

Pivot layouts

Layout chooses Columns, each level in its own column (the default); Tree, the groups indented in one column; or Level, one level as a flat table: one row per group, its parent groups beside it, sorted across every group, so cities rank against each other across regions.

In Tree and Columns, Levels opens or closes every group at once, and its menu shows the tree down to one level. In Level, its menu picks the level listed. Clear pivot, in the Pivot tab, shows every row again.

Format and highlight a column

A format or highlight set for Every split is shared across that field’s measures, except counts, which keep their own units. Set it for This column to override that one derived column. Removing all its highlight rules turns inherited highlights off for that result. Reset, beside the switch, restores its source format and highlights.

Press a header, or Alt+Down, to open its Column Inspector: its type and name, Shown, and tabs for its filter, sort, format and highlights. Format offers presets such as currency, percent, compact numbers or month dates; a pivot’s measure takes its column’s format. Highlight tints the cells that meet a rule; add as many as you like, and the first a value meets wins.

Name a source and its columns

Details, beside Views, opens Source Details: the source’s name (its tab and the title in the status bar) and every column with its name, group and type, to edit together; Reset source undoes them all. One column’s are also in its Column Inspector’s Column tab. Either gives a column another name, puts it in a group (Fields and the header show groups) or changes its type. Anyi never changes the source: these edits are kept in this browser and apply each time the source opens. Text can show as a code in any source. A file you import can also convert a column, text to a number or a date, say; the file opens again to convert it, keeping your pivot, filters and sort, and a value that does not convert becomes empty. Reset column returns it to what the source says.

Compare analyses side by side

A dataset chosen in Sources, or a file you import, opens in a tab of its own; choosing one that is already open brings its tab forward. Duplicate opens a copy of the analysis you are in as a new tab, to change apart: another pivot, other filters, other formats. Its menu puts the copy In a Pane Beside, to compare the two, or In a Pane Below. In a split, the pane the ribbon acts on wears a green frame. Drag a tab to a side of a pane to make a split, or onto a tab strip to join it. Each tab keeps its own source, pivot, filters, sort, fields and formats.

The ribbon, the Grid Inspector and the status bar act on the active pane: the one you last pressed, whose tab carries the accent rule. Maximize Pane, at the end of a pane’s tab strip, lets it fill the area until pressed again. A tab’s × closes it; closing the last leaves an empty workspace until you open a dataset or file. A reload brings back every tab and split; a tab on an imported file comes back asking for the file again.

Save a view and export

A reload resumes a dataset where you left it: its pivot, filters, sort, fields and formats. Views saves the analysis under a name and opens a saved one later; Reset view opens the dataset as it comes. A view of an imported file asks for the file again, since a browser cannot reopen a file by itself.

Export first says what the file will hold, then downloads it as CSV: a pivot as the table shows it (totals and groups as opened), or every row a flat view matches, saying so when the result was capped. Columns are the ones shown, named with their groups; numbers are written unformatted, dates as shown, and missing values empty. At most 1,000,000 rows are written.

Keyboard reference

Table
Arrows, Page Up/Page Down, Home/End, Ctrl+Home/End move. Enter opens or closes a group. Shift+arrows select; Ctrl+A selects everything, Escape clears. Ctrl+C copies the selection (or the cell), Ctrl+Shift+C the row.
Columns
Alt+Down opens the Column Inspector. Alt+Left/Right resizes; Alt+Backspace restores.
Filters
F, outside a field, adds a condition.
Lists and pickers
Type to narrow, Up/Down to move, Enter to pick, Escape to close. In a value list, Alt+Enter picks one value alone.
Fields
Up/Down walk fields and groups; Left folds a group (or goes to a field’s group), Right unfolds it or steps in; Space shows or hides a field or a whole group; Enter inspects a field or folds a group; Shift+Up/Down (or Alt) moves either.
Pivot chips
Alt+Up/Down moves. On a chip, Alt+Left/Right moves between Rows and Columns, and Delete removes it.

Data safety

Anyi has no server and no account. Every query runs in this tab, and a file you import is read here and never uploaded. Public datasets come straight from their hosts and are saved on this device, so the next visit opens them without downloading again. Clear saved data, at the foot of Sources, removes them and shows how much they take.

Limits

  • Filtering or sorting a large dataset keeps a copy of the matching rows in the browser, up to six million. When more match, Anyi keeps the first six million: the top of the sort (sort the other way for the other end), or the first matches in file order.
  • Parquet imported from your disk can be viewed and scrolled, but not pivoted, filtered or sorted.
  • Anyi is built for laptop and desktop browsers; on a phone it says so and waits for a larger screen.

Where the data comes from

  • Capital Bikeshare hourly counts, 2011–2012: Hadi Fanaee-T, UCI Machine Learning Repository, from Capital Bikeshare’s system data, under CC BY 4.0. Anyi decodes its codes and names its seasons by their dates; the notes are in the source repository.
  • NYC 2015 Street Tree Census: NYC Department of Parks & Recreation via NYC Open Data, retrieved 2026-11-11. It records trees in 2015–2016, dead trees and stumps included, not their health today. Anyi keeps a subset of its columns, spells out its survey codes and leaves coordinates out.
  • MoMA collection, snapshot of 2026-11-11: The Museum of Modern Art’s collection metadata, under CC0, modified by Anyi (acquisition year and decade derived from the acquisition date). Artwork images are not covered by that licence and are not included.
  • NYC film permits: the Mayor’s Office of Media and Entertainment via NYC Open Data, retrieved 2026-11-11. Each row is a permit, not a film or a shooting day, and its borough is the first of the activity. Anyi adds start year and month and a duration where start and end are valid, and flags ten records whose fields the source publishes out of place.
  • Global Power Plant Database v1.3.0: World Resources Institute with Google, KTH, Enipedia and the Global Energy Observatory, under CC BY 4.0, each plant crediting its original data source. It is historical (no updates since early 2022) and lists installed capacity, not generation. Anyi keeps a subset of its columns and derives a commissioning decade.
  • USGS earthquakes: the U.S. Geological Survey’s all-earthquakes 30-day feed, a snapshot taken 2026-11-11 17:01 UTC covering 2026-10-12 to 2026-11-11, public domain. Events are revised after that, so this copy is for exploring, not a current record or an alert service. Anyi names the reporting networks and adds a magnitude band.
  • Online Retail, a UK online retailer’s invoice lines from December 2010 to December 2011: Daqing Chen, UCI Machine Learning Repository, under CC BY 4.0. Anyi converts the spreadsheet to a table, keeps cancellations, and adds a cancellation flag, month and a signed line amount (quantity × unit price, in pounds), which is not audited revenue.
  • Employment and wages in New York, New Jersey and Connecticut, 2021–2025: U.S. Bureau of Labor Statistics, Quarterly Census of Employment and Wages annual averages, retrieved 2026-11-11, public domain. Each row is a published county, industry sector and ownership cell, not a business. Cells BLS suppresses have no employment or wages rather than zeros, and Connecticut reports planning regions instead of counties from 2024.
  • Company financials: U.S. Securities and Exchange Commission Financial Statement Data Sets, 2026 first quarter, retrieved 2026-11-11, as filed by the companies. Each row is one reported figure from a company’s 10-K annual report, such as its revenue or total assets for its own fiscal year, not a company or a transaction. Anyi keeps seven standard measures in US dollars, one annual report per company, and leaves a figure empty when the company did not report it under those tags. Not investment advice.
  • UK house sales: contains HM Land Registry data © Crown copyright and database right 2023, under the Open Government Licence v3.0.
  • Medicare Part D Prescribers by Provider and Drug, 2023: Centers for Medicare & Medicaid Services, public domain.
  • US flight delays, 2015: US Department of Transportation on-time performance, public domain.
  • Superstore orders: a widely used sample dataset.