Thanks for the feedback, Andy!
As for P.productname, not sure what you mean by missing. If you wish to return it, you can certainly add it, though this will require another join to...
I would say that they were originally designed to handle data analysis calculations, which in part, naturally involve visualizing data. But as it turns out, they have far broader use cases....