:b represents column "b", from the data table you listed in the original question. The formula,
Col Number( :b, :b) / Col Num( :b )
is interpreted as:
the count of all of the values in column b, for the current rows value of column b, divided by the total count of the values for column b.
In the example data you provided, the calculation for the first row would be:
The count of values found in column b, that match the value for column b. That is, the value of the first row for column b is "1", so it would count the number of "1"s found in column b, which is 8. It would then divide by the total number of the values found in column b, which is 22.
Concerning the Tabulate Platform, what you would do, is to change the modeling type of column b to Nominal, so Tabulate will treat the column as a grouping column. Then you would drag column b to the Drop Zone for Rows. I will then list out each of the values found for column b. By default, the statistic column that is listed is the count(N). To change it to the Column %, you would just drag the Column % statistic to the "N" column, and it would replace the statistic with the column %
Jim