Libgsqlite: A SQLite extension which loads a Google Sheet as a virtual table
github.com
github.com
1 - https://github.com/turbot/steampipe 2 - https://github.com/turbot/steampipe-plugin-googlesheets
select * from url('https://docs.google.com/spreadsheets/d/1XGCy0tYU5YcEouO09_ErZIyqjA-VJ4pidLZmMmJkEdk/gviz/tq?tqx=out:csv&sheet=Sheet1&range=A:C', CSVWithNames)> The extension will load the spreadsheet only once while creating a virtual table. If you want to pick up recent changes, drop the table and create it again.
The principle use of the spreadsheet for both power users and casual users is a lot around justifying answers by being able to see the data. The goal is not speed or scale.
If you and sending a report to a superior - clear and visible rows, columns, and "math" makes it faster and easier to trust information for non-technical users.
This same logic is why the spreadsheet is best serving customized, one-off, or changing operations without a huge amount of data. This makes up a huge chunk of day-to-day business decisions, especially in finance where the math is much easier.
I don't think the spreadsheet lasts forever, but its successor will likely be something that presents an easy way to get answers from a set of data that is visible or at least able to be quickly understood, regardless of whether its fast, scalable, networked etc.
Once the data is entered, there are much better tools for data visualization and aggregation (in my opinion). It's nice to have the "frontend" taken care of so that your time is freed up to analyze and extract meaning from the data. I'm speaking from the perspective of someone who does a lot of rapid prototyping and data analysis. There are likely use cases where this won't scale.
This "fill formula down/right" feature is so strange. A developer would be like: let's just set a formula for the entire column, and make it refer to another column. And let's name the columns something. Like Airtable.
But its surpringly flexible and hackable.
I wish there was something like GSheets + Airtable.
Smartsheet.com ?
Meet Lotus Improv (1991): https://en.wikipedia.org/wiki/Lotus_Improv
I think the patents have expired now.
- You don't have to make your sum/avg/analytic rows because Improv does that automatically. Yes, Excel does this on the pivot tables, but because you can't work there, a lot of people make a SUM(B2:B999) or something to make summary data more accessible.
- Your formulas look simple like ConversionRate=Total:Closes/Total:Leads instead of =SUM(A2:A99)/SUM(B2:B99) and sure I know there's a way to make Excel do something like that, but nobody does, which is one thing that makes it hard to mix stuff between multiple documents in Excel -- someone moves the lead count on the lead sheet and it blows everything up back at headquarters. In Improv if someone renamed Leads to Pipe or something it'd break and you'd see that right away with much less chaos.
And so on
Mito doesn't have real time collaboration though. That is, not until Jupyter real time collaboration becomes more popular (https://jupyterlab.readthedocs.io/en/stable/user/rtc.html)
Mito doesn't look like it keeps the flexibility of a spreadsheet in that way.
If you turn a worksheet section into a proper Table in excel, it does exactly this.
I don’t understand because you obviously can do this with sheets/excel
Spreadsheet power users on both excel and sheets do exactly that. It’s called array formula. Press cmd-shift-enter on the cell with the formula and it’s valid for the entire column and can be changed in one central place.
Not sure what this has on top of that.
This project is also well documented including the gsheets side (which is quite non-obvious).
This is false: https://www.rfc-editor.org/rfc/rfc4180
Apparently it's quite common in Gsheet land to base your CSV export around things like this copypasta javascript code and customize as needed (follow forks, in parent direction too, for more of the story) https://gist.github.com/mrkrndvs/a2c8ff518b16e9188338cb809e0...
Seems weird to to pooh-pooh the idea without any reason to think it isn't good. Also, it's not really a question of luck, is it? It's not that mysterious how to validate an integration like this.
ELI5 what this means, please? (unpack this for the ignorant among us, plz)
Adding support for modifying Google Sheets would be a game changer. I see many (SQL-like) extensions that will query GS, but none can change it.
Using SQLite as the interface instead of the sheets API will be so nice.
Btw - highly recommend sheets as a backend. For my recent projects it has been such a time saver.
I lasted 3 months only, got tired of the sudden meetings discussing why can't we give fast and accurate results.
Also, the fact that you offered to do it for free makes me question your motivation. I think you were trying to make your own job easier at the cost of the users no longer having the thing that worked for them.
It can be very difficult to replace spreadsheets because the UI has had 30+ years of iteration.
The "we will destroy all your accounts across our entire service catalog including any potential of future earnings if you cross our AI abuse detection thresholds" sword of Damocles is obviously unavailable and thus out of scope.
Use wood planks as a temporary crossing, don't ferry cars over them. Run your bake sale with spreadsheets, don't run a multimillion business with them.
I don't need to link you to the resources on the astronomical number of problems that are caused by spreadsheet-oriented business processes and shadow IT. Using spreadsheets instead of proper systems shifts the operational burden onto humans, who certainly do not have perfect availability and durability.
I wonder if this migration from spreadsheets to databases is what helps ossify business culture in older companies. With spreadsheets, change and iteration are easy with fast cycles. With a database, change is a pain and iteration cycles are very long since everything has to though multiple stages of review, approval, and implementation.
I don't know how much time you've spent supporting spreadsheet users, but I work with them daily and I see first-hand the amount of energy being wasted. Stuff that takes them all day, they could do in a single SQL query. Probably wouldn't take them more than a day to learn how.
It's not about democracy, it's about doing things in a sensible way. I'd be happy if they used another "democratic" tool like Microsoft PowerBI and a fully-managed database.
Side note, I'm quite surprised that somebody in this form is so staunchly in favor of spreadsheets.
While long review cycles for schema changes are annoying, I find it more worrying that most businesses have zero review process at all for spreadsheets.
Great use case
Why does this have to be so hard!? I really wish Google Cloud (and likewise AWS and many other providers) didn't force users to jump through so many steps to use tools like this.
Well, in part because they are using the console rather driving it programmatically; all the cloud platforms are optimized for programmatic/IAC rather than console operations.
And in part because Google Cloud (as opposed to AWS) has a segregated-projects, and activate-options approach to manage the scope of management surface and costs, whereas AWS (unless you create separate accounts) is more of “lump everything together”, and within an account is everything-default-on.
If there was a similar thing for AWS, while there might be some configuration needed, the “create a project” and “activate the API” processes probably wouldn’t be part of the basic instructions.
eg. I frequently use Google Sheets as the UI for simple and complex projects. The web front end is provided by Google, as is the identity/auth part. You only have to worry about important part - the data.
BUT you can get a proper SQL managed instance(with much faster query, larger data store, Geo-replication, point-in-time backup etc) for less than $5 a month.
Do your due diligence, identify your needs, compare the price of engineering hours with $5/month and go ahead with whatever suites you the best.
You’re likely correct that $5/mo isn’t the barrier to switching.