Fork me on GitHub
#off-topic
<
2022-03-03
>
markaddleman02:03:05

I'm working on an analytics product and the time has come to add pivot tables/charts to the product. I would love to use one of the off-the-shelf pivot table widgets but I'm surprised to discover that only a few support pushing filtering & aggregation to the server side. I'm looking at https://www.syncfusion.com/javascript-ui-controls/js-pivot-table pivot table which has support for OLAP - which brings me to my question: Does anyone have experience binding a data source to OLAP using OLingo or other library? I'm trying to decide if it is worth the hassle.

kardan06:03:30

Not about OLAP but “pushing filtering & aggregation” we did that at a project that created pivot tables I used to work on. Not sure if it’s applicable but maybe, throwing some links but more digging will be required to get something useful 🤷. • https://github.com/akvo/akvo-lumen/blob/master/client/src/components/visualisation/configMenu/PivotTableConfigMenu.jsxhttps://github.com/akvo/akvo-lumen/blob/master/backend/src/akvo/lumen/lib/aggregation/pivot.clj

markaddleman11:03:25

Thanks! I'll take a look

p-himik12:03:14

I need to be able to visually represent a dog's pedigree. On the surface, the task is trivial - just draw the binary tree upwards. But the trouble here is that dogs are very often inbred. A naive approach of "draw new parents as if it's a binary tree, draw links to existing parents regardless of where they are on the diagram" works only in the sense that it will always produce a result. But that result will be a mess more often than not, especially when inbreeding is quite high. Currently, I simply duplicate each parent that is linked at by more than one child - it is still a mess, but at least it's not tangled. There are existing solutions for drawing such pedigree diagrams but the ones I could find are closed-source. Are there any solutions or ideas that would help here?

Jon Boone12:03:13

Does it help to represent it as an acyclic graph?

vanelsas13:03:32

I've read an article a while back about arctrees. Can't remember exactly but somehow in my mind seems to fit the problem you are facing.

p-himik13:03:13

@U025L93BC1M You mean, by duplicating nodes that lead to cycles? If so, then that's exactly what I'm doing. @U01M742UT8F Thanks, I'll check arctrees out. In general, the most relevant concept seems to be "untangling a planar graph", and there are a few papers on the topic. The issue here is that a pedigree "tree" is not a free-form tree. There are a bunch of constraints and recommendations that must be followed for it to be a proper pedigree "tree".

vanelsas13:03:47

I found this too, it's a bit old, but perhaps it can give you some ideas for possible solutions. Has a few tree images that are a bit more complex than binary trees. http://www.let.rug.nl/~dvries/pdf/2008-visualization-3D-Mdom-Diagrams.pdf

Ben Sless13:03:35

Why would you have cycles?

p-himik13:03:30

Inbreeding.

p-himik13:03:05

Ah, well - not cycles because the graph is directed, right. Not sure about the right terminology here. Diamonds are possible.

Ben Sless13:03:01

But diamonds are valid in a DAG. Then just order nodes by the max over the height of their children + 1

Ben Sless13:03:48

Doge at height 0 Papa doge at height max(0) + 1 Same for mama doge Let's assume papa doge is also mama doge's parent, update his height to be max(1,0) + 1

p-himik13:03:20

I'm not saying that something is invalid here. :) I'm saying that drawing such a DAG is a mess. Mainly because there will be a lot of edges that cross other edges or nodes. What you describe works to figure out the Y coordinate. But what about the X coordinate?

Ben Sless14:03:50

Just use a minimum energy layout algorithm like graphviz 🙃

p-himik14:03:02

Yep, Graphvis is in one of the opened tabs right now. :D

Jon Boone14:03:23

I'm unfamiliar with the clojure/clojurescript ecosystem libraries (too new), but are there libs like this typescript one: https://github.com/erikbrinkman/d3-dag

Jon Boone14:03:43

Note specifically the Expandable Family Tree example

p-himik14:03:30

Thanks! Will check it out.

Alex Miller (Clojure team)18:03:31

as a general thing, nearly every open jira should have a corresponding ask question, and that is the place for users to vote on stuff

Sam Ritchie19:03:33

Just found the email from @puzzler that tricked me into my Clojure journey back in 2010 and wanted to share the text here: :“Just for grins, I've attached a snapshot of what I'm doing right now with Chocolate Fix in Clojure. If you've never worked with Lisp, you'll probably find the program to be completely inscrutable, but I assure you, it's an elegant thing of beauty :) . Anyway, this will at least give you a small taste of what the language looks like.”

😄 3
Sam Ritchie19:03:23

Obviously I had to dig deeper :) I brought a copy of the Little Schemer on a backpacking trip to Nicaragua, worked through it with pen and paper over two weeks and came back ready to rage on lisp

metal 4
Richard Bowen19:03:18

What's the ClojureScript experience like with Sublime Text and Tonsky's Clojure plugin, Sublimed Clojure?

flowthing20:03:08

I don't use Clojure Sublimed myself, but my understanding is that it doesn't support ClojureScript yet, specifically. Tutkain supports ClojureScript, but only via shadow-cljs, unfortunately.