I think all of those formulas assume that each line in the table corresponds to one line in the dataset, which in retrospect probably is unreasonable. I made a new formula that doesn't assume one entry per item number. I followed your naming for the table names, but not all the column names.
The first formula won't work, it will always return 100%, Second one should work, based on Descending order of [GSContribution], for the 3rd one, could you please explain a bit for the [Contr] here?
By the way, could you please share about your data view under Power BI Desktop screenshot, with the table column information that described here? We may provide a more suitable solution based on the DataSet.