I vaguely understand (on a theoretical level) why the syntax for pivoting in databases is necessarily convoluted, but it does underscore to me how spreadsheets have a great advantage for everyday data-exploring, at least when it comes to ease of pivoting.
(by "everyday", I mean working with datasets small enough to fit within a spreadsheet's limits, and aren't yet important enough to need the reliability/regularity that comes with importing it to a database)
The ability to use Excel as a "front-end" for other data sources is underrated. For all its warts, Excel is a great data manipulation and exploration tool.
Due to system limitations, I made a stats tracker for my team in AccessDB.
Due to the awfulness of access, I made an excel&vba front-end that would push data to and pull data from access.
It's been working surprisingly well so far, with no reported issues
The existing "solution" was a gigantic excel where people would put it times and names.
In Access, when you enter times, you have to use a specific format, (the datetime group specified by the Windows default) rather than just "23:40" or w/e. I've seen a hack where the hour and minutes are separate boxes, but it wasn't pretty. Just this issue was enough to make Access unappealing.
Access's interface is a bit unintuitive, and given that most people I worked with weren't particularly technically capable, I preferred to present them with the familiar Excel interface (and a few extra buttons), rather than teach them an application they've never used before.
Plus, the existing workflow already used Excel, so I hijacked their workflow and their routine wouldn't be modified much at all (introducing a completely new system would cause a lot of friction and pushback, but one or two extra buttons was fine).
I would like something with simple functionality, where I can just specify the table name, the category column, and the data column and get a new table transposed ibto columns. I would be happy to do the aggregation outside the pivot process. PROC TRANSPOSE in SAS would be a good model.
I had a quick look at some online material on implementations of pivot, as well as what I consider my go-to reference [0] for Apache projects' SQL support (Apache Calcite).
Looks like each DB has a proprietary way of pivoting, and I couldn't find anything on pivot in Calcite. Does anyone know if the SQL impl of pivot was created specifically for Spark, or whether it'd be upstreamed to Calcite? The benefit would be that other projects that rely on Calcite for SQL support would also have pivot capabilities. I'm thinking of Apache Beam.
This is very nice. I've currently had to resort to MariaDB's dynamic columns for my purposes (much nicer than a traditional entity-attribute-value solution) but this looks even nicer. Is this a Spark-only thing?
mySQL needs this as well. We do a lot of pivot style reports for clients and while we have it down to a bit of a science now the resulting SQL is a debugging mess and not terribly efficient. (though it still runs fairly quick)
Off topic: the GPDR banner on this site is a good example of dark pattern. Scrolling into a webpage does not mean I consent collecting personal info about me.
The downvotes on the original post are probably because the comment is being seen as off topic. Sometimes comments like that are accepted, sometimes not, I can't say I've noticed much of a patter there other than they are far less welcome on HN than, for example, Reddit.
I usually play safe and reserve side-topic comments to a post-script after something more immediately relevant (and if I don't have something to say on the thread topic, keep them to myself).
The downvotes on this one are going to be because of complaining about downvotes!
(by "everyday", I mean working with datasets small enough to fit within a spreadsheet's limits, and aren't yet important enough to need the reliability/regularity that comes with importing it to a database)