Beast Mode - Refer to Other Segments in Case Statement

Basically, what I'm looking to do is create a percentage column in the dataset.

For example:

Let's say I have some shapes: 'Rectangle', 'Square', 'Small Square'

How would you go about creating a variable that shows the percentage of that shape as compared to the next largest category of shape? For example, the column would show:

100% for 'Rectangles'

SUM(Number of Squares)/SUM(Number of Rectangles) for 'Squares'

SUM(Number of Small Squares)/SUM(Number of Squares) for 'Small Squares'


I've tried a CASE statement, but it doesn't seem to work given that it excludes all Rectangles when I subset for Squares.

Also, I'm unable to use ETL or preprocessing because the data needs to be able to be filtered by many different variables. Enough variables to make it prohibitive to calculate this for all combinations of these filters, which is why it needs to be able to be calculated in a beast mode.

Thanks!