Some time ago I hacked together a bunch of elisp to create a clock table based on tags. [1] It uses org's dynamic block feature[2] to create a piechart with gnuplot and a simple table that shows percentages of time spent on different tags. I should say that it has basically no documentation at all, but if there is interest I could write something to explain the basic usage at least.
[1] https://github.com/Zetagon/dotfiles/blob/master/doom/pichart-property.el [2] https://orgmode.org/manual/Dynamic-Blocks.html