The algorithm SAS uses for calculating the percentile is different from SQL Server. In SAS the percentile value is almost always an average of two rows. There are two exceptions; if the percentile value falls in the first data row or if the percentile value falls in the last data row, the value is used as is. The base rule is that the 100th weighted percentile is the largest data value, no matter what.