Eirik Bakke
@ultorg.bsky.social
70 followers 210 following 37 posts
Building Ultorg, the missing user interface for relational databases. www.ultorg.com
Posts Media Videos Starter Packs
ultorg.bsky.social
Another Ultorg release, this time simplifying formulas that involve calculations on dates and times, and improving the display of time durations. Also, by popular request: Highlight the current row, to help users maintain sanity when reading very wide tables. (1/2)
ultorg.bsky.social
End-to-end encryption: The data in perspective definitions, such as column names and selected filter values, is stored on Ultorg's server in encrypted form only. The encryption key is stored in the “hash” portion of the link (#...), which is never exposed to the server. (2/3)
ultorg.bsky.social
New in Ultorg 2.1.0: You can now quickly share the current perspective (visual database query), by creating a link to it. Links may be opened by other Ultorg users, or used as a way to store queries in company wikis, git repos, or similar. (1/3)
ultorg.bsky.social
A bonus feature for some very specific use cases: Text cells can now render inline LaTeX math. (Eventually we should add support for more common markup languages...) (5/6)
ultorg.bsky.social
You can now resize table columns by dragging the edge of their header. Double-click to restore auto-sizing. And, print layouts will repeat table headers on every page. (4/6)
ultorg.bsky.social
When staging data edits across multiple tables, you can now insert rows under other inserted rows, even when the join is on an auto-generated primary key. Ultorg will work out the dependencies when you commit. (3/6)
ultorg.bsky.social
The Compile to SQL action now orders and formats its output columns in a more usable manner. Google BigQuery is also now supported as a data source (with all date/time data types, formula functions, Expand JSON Fields etc.). (2/6)
ultorg.bsky.social
Ultorg 2.0 is released, with several user-requested features! With conditional formats, you can color rows or cells, or "strike through" a row, based on values or an arbitrary formula condition. (1/6)
ultorg.bsky.social
This release also makes it easier to work with cells containing long text or JSON values. You can press Ctrl/⌘+Enter to see the contents of the currently selected cell in a dedicated text editor, where keys such as Enter and Page Down will not disturb the cell selection. (2/3)
ultorg.bsky.social
Ultorg 1.9.4: The new "Compile to SQL" action generates a SQL query from the current perspective. The query is similar to those used internally by Ultorg, but has predictable outer column names, and is better suited for use in external applications. (1/3)
ultorg.bsky.social
Also, the dropdown that appears when editing foreign keys can now be constrained to show only specific, relevant options.

For example, a dropdown showing Cities may be constrained to show only cities from the country that is selected in an adjacent Country field. (2/3)
ultorg.bsky.social
Ultorg 1.9.2: For simple data edits, Undo now works even after you have committed the edits to the database.

When Undo is invoked for an already-committed data edit, Ultorg creates a new pending edit that would revert the prior change (similar to "git revert") (1/3)
ultorg.bsky.social
Similar functionality is also available for Google Sheets connections. You can query the data from Ultorg and save changes back to the underlying sheet. (4/5)
ultorg.bsky.social
Here's another demo, where we join a database of products/orders with an Excel sheet containing proposed pricing adjustments, to see the impact on revenues. We can make edits to the pricing adjustments and have Ultorg write them back to the underlying XLSX file. (3/5)
www.youtube.com/watch?v=f_oe...
Joining a Database with Supplemental Data from Excel ("Pricing Experiments" example)
YouTube video by Ultorg
www.youtube.com
ultorg.bsky.social
Excel sheets are also useful when you need to provide some supplemental data for a query against a larger external database. Use the Custom Join action to join your Excel sheet against a database table. Then continue editing the supplemental data from within Ultorg. (2/5)
ultorg.bsky.social
Write-to-Excel in Ultorg 1.9.0! You can now build a complete relational database from scratch, as tabs in an Excel file. Then, use Ultorg to query and edit the data. Here is a demo of a simple CRM database, with a couple of joins and one-to-many relationships. (1/5)
www.youtube.com/watch?v=IQJq...
Excel as a Relational Database in Ultorg 1.9.0 (CRM Example)
YouTube video by Ultorg
www.youtube.com
ultorg.bsky.social
For now, Ultorg assumes that you already have a DuckDB file available, populated with data. You'd need to install DuckDB's command-line tool and import data there (duckdb.org/docs/data/ov...). Future Ultorg versions might integrate DuckDB further, to avoid these extra steps. (6/7)
Importing Data
The first step to using a database system is to insert data into that system. DuckDB provides can directly connect to many popular data sources and offers several data ingestion methods that allow you...
duckdb.org
ultorg.bsky.social
DuckDB, as suggested by some users, turned out to be rather easy to support from Ultorg. Its dialect of SQL is reasonably similar to that of PostgreSQL, and it has all the standard data types available (date, time, datetime, integer, numeric, json, uuid...) (5/7)