At Standard Chartered we regularly used relations as a perfectly cromulent data structure in our programs.
Some of our other big inspirations are Bloom (http://boom.cs.berkeley.edu/index.html) and OctopusDB (https://infosys.uni-saarland.de/projects/octopusdb.php#secti...).
The UI we are currently working on is very spreadsheet-like. We show tables as grids. Rules are built by dragging columns of data into a working space. We deliberately don't support adhoc layout in the program itself but we will probably add some kind of presentation tool that links various tables into a nicely laid out report.
I think these efforts will ultimately succeed only when they are combined with ML, but there is currently very little cross over between PL and ML (I wonder what Peter Norvig will say about this at his Splash keynote).
It seems radical in a programming context but it is a pretty standard and well proven separation in the database world. My favourite work along this line is https://infosys.uni-saarland.de/publications/DJ11.pdf which defines the data model to be an append-only list of tuples and treats the creation of all other data-structures, indexes, views etc as part of a single global optimisation problem.