Live data from Hacker News

A Relational Spreadsheet

kevinlynagh.com

31–40 of 77 posts

Re: A Relational Spreadsheet

#31
post #2

I want the same, I want it so much that I have been working on gasp gui code to do such, an activity I have found I am profoundly bad at. But the theory is, I love the relational database, they are a sort of rigorous superset of the spreadsheet, and I have replaced all my spreadsheets with database tables, however while it is very hard to beat sql for rich comprehensive data transforms and analysis, ad-hoc data entry…

[deleted]

Re: A Relational Spreadsheet

#33
post #2

I want the same, I want it so much that I have been working on gasp gui code to do such, an activity I have found I am profoundly bad at. But the theory is, I love the relational database, they are a sort of rigorous superset of the spreadsheet, and I have replaced all my spreadsheets with database tables, however while it is very hard to beat sql for rich comprehensive data transforms and analysis, ad-hoc data entry…

We are building a open source UI for Postgres DBs that should meet your use case: https://mathesar.org. We're doing our first release next week!

Re: A Relational Spreadsheet

#34
[Laughs in pandas]

I don't want to be dismissive, this is nice work and it's clean and lightweight. But it might be good to look at existing solutions in this area - pandas was developed within the financial industry to solve exactly this sort of issue. If you need more topological flexibility there is xarray, and if you need spreadsheet type immediacy it's worth looking into Mito.

Rustaceans should look into pola.rs: https://github.com/pola-rs/polars

Re: A Relational Spreadsheet

#35

[Laughs in pandas] I don't want to be dismissive, this is nice work and it's clean and lightweight. But it might be good to look at existing solutions in this area - pandas was developed within the financial industry to solve exactly this sort of issue. If you need more topological flexibility there is xarray, and if you need spreadsheet type immediacy it's worth looking into Mito. Rustaceans should look into pola.rs…

[Sobs in hours spent in pandas documentation]

Or, just use a relational database.

Alternatively, airtable and similar are basically relational databases that have some really neat features that let you create relationships by just copying/pasting data, or importing CSVs. They're limited in a lot of ways, but it solves a certain set of problems that can't be solved with code or excel.

Re: A Relational Spreadsheet

#36
post #2

I want the same, I want it so much that I have been working on gasp gui code to do such, an activity I have found I am profoundly bad at. But the theory is, I love the relational database, they are a sort of rigorous superset of the spreadsheet, and I have replaced all my spreadsheets with database tables, however while it is very hard to beat sql for rich comprehensive data transforms and analysis, ad-hoc data entry…

Microsoft Access is this. It was quite popular in its heyday, but as time wore on, it turned out that people eventually either want scalable, real, full-blown databases, or infinitely flexible spreadsheets. Anything built with a product in that grey area in between will eventually want to go one way or the other.

Is SQLite a "scalable, real, full-blown database"? That's the scale that Access is going for. (Though it also totally works as a pure frontend to a "real" database connection.)

Re: A Relational Spreadsheet

#37
post #12

Excel has get and transform that makes this easy + an odbc provider (you can query excel as an sql database). A reminder for everyone excel web is actually entirely free and you can create stuff with https://excel.new We spent a lot of time making it faster and rewrote a bunch of it ^^ (I'm just an engineer, I don't speak for my corporate overlords)

Hi inglor! As someone who has been writing spreadsheets engines for the last 10+ years I am a big fan of how Excel has taken the lead in innovation in the last couple of years with dynamic formulas and the LAMBDA. So congratulations on your part of it! BTW, I must have been interesting to find an algorithm that can evaluate the new dynamic formulas. I would like to see one day more public information on spreadsheet evaluation algorithms. As the people from sourcetable[1] put it:

> Spreadsheets are one of the hardest things you can build — right up there with compilers.

I think I would like to see a "democratization" of the technology and find books, and lectures about it as popular as we find books and lectures about compilers.

As for the OP I find their take interesting, of course you can accomplish that with more established tools but it was a refreshing read and an interesting, if not inspiring, notation.

PS: Is it possible that there is a regression when computing sheets with lots of open ranges (like =SUM(D:D))

[1]: https://www.sourcetable.com/jobs

Re: A Relational Spreadsheet

#38

[Laughs in pandas] I don't want to be dismissive, this is nice work and it's clean and lightweight. But it might be good to look at existing solutions in this area - pandas was developed within the financial industry to solve exactly this sort of issue. If you need more topological flexibility there is xarray, and if you need spreadsheet type immediacy it's worth looking into Mito. Rustaceans should look into pola.rs…

I work in finance and I hate pandas! Also worth pointing out that almost all big banks have their own functional languages baked into excel that allow not only relational operations and extend excel functions but also tapping into their inhouse analytics libraries written in C++.

Re: A Relational Spreadsheet

#39
post #5

Earlier quoted context omitted.

If you're asking for a GUI for simple CRUD on an arbitrary table, I think that's pretty common. What database are you using, and what API are you using to access it? (Edit: and on what O/S?) If one of the obstacles to data entry is normalization, perhaps an updatable view if your database supports it.

> I think that's pretty common. Not as common as you might think. It is a hard thing to search for, and the ones I have been able to find all suck. I wrote a PHP application a long time that allowed you to create a GUI for an 'arbitrary' SQL database table, using an XML schema to configure the appearance, validation etc. of the fields. Life got in the way, and I stopped development before it was ready for prime time.…

A bit more than 20 years ago Microsoft released a desktop product that automated producing a CRUD interface from an XML schema. It looked very nice but it was immediately withdrawn. I was puzzled at the time but I guess now they were threatened with a patent. This might explain why there weren't more products solving this obvious problem. Patents should have expired by now though.

Re: A Relational Spreadsheet

#40
post #2

I want the same, I want it so much that I have been working on gasp gui code to do such, an activity I have found I am profoundly bad at. But the theory is, I love the relational database, they are a sort of rigorous superset of the spreadsheet, and I have replaced all my spreadsheets with database tables, however while it is very hard to beat sql for rich comprehensive data transforms and analysis, ad-hoc data entry…

How large is the data you're working with? Airtable (expensive, with serious row limitations) and its open source alternatives (apparently great, but I've never used one) are basically what you're looking for. They allow you to create relationships pretty trivially. I largely use airtable for collaborative data entry work with 1-10 others, where I need to eventually throw the data into postgres. It works great. Though, it's hard to say where its limitations are until you're a bunch of hours into a project -- some features you'd expect to be easy can be extremely hard, or limited.
Post reply on HN