into this |
You could consider this to be a kind of un-pivot – exploding tabulated data back into transactional rows as described by Hadley Wickhams in his implementation of reshape/melt for R.
Following a post by Tony Hirst I figured we could do with an Excel version, and now a Google Apps Script version. You’ll notice that I used more less the same javaScript syntax for options in both the VBA and GAS versions. I’ll probably be doing more of this in the future, so here is a quick write up on that.
I’m using the mcpher GAS libraries and in fact implemented this as a new module of those libraries. This means that all that is needed in the calling module for the example above, aside from a reference to the mcpher libraries, is this.
function testMelt(){ mcpher.reshapeMelt ({outputSheet:"meltOut",inputSheet:"melt",id:["id","time"]}); }
The code for this module is in this gist, the test spreadsheet here, and the complete library code here.
If you prefer Excel, the VBA example looks like this and can be downloaded here.
Public Sub testMelt() reshapeMelt "{'outputSheet':'meltOut','id':['id','time']}" End Sub
For more stuff like this, visit the ramblings site or the associated blog. If you have suggestion for particular topic or contact me on our forum