You will have to make a calculated field for each of your column .Each one sums the number of rows where the rating value correspond to the column rating.
see in the attached
ratings count scenario.twbx 14.6 KB
I have a tendency to overcomplicate things, thanks for putting me back on track
And though my solution returns the expected values, it's much more simple to simply convert Ratings as Discret values as you did. Actually I would even convert is as a Dimension.
Here is a little addon, to add a zero where you have missing data. By adding an index on the detail shelf Tableau will generate the missing marks.