If you have a large number data points with only one or two instances of each, proportionate really isn't going to work

Example - look at the yellow columns. There are 20 data points with 12 different values. Assuming that you want to get a proportionate random sample of 10, many of the values (like '2') need .5 of a sample data point

That was why the lines that you deleted were there, so that if the number of occurrences of a sample value size was so small that no data of that value would be selected, I forced at least 1

The only alternative I can think of (again this is outside my range) would be to use percentiles and proportionately sample within a percentile (the orange columns)

Capture.JPG