I tried the Max calculation, and while it does prevent the result from being negative and shows it as 0, it still stores the original result and treats further calculations as if it were the negative number. Like the scenario I layed out in my OP, the net result would be the 75 instead of the more accurate 100.
Is there a way around this? Thanks so much.
You would use the result of the Max() function in your downstream calculations.
Assign the calculated value using a Let statement along with Kyle's Max statement. Your result would be either 0 or a positive number.
MyCalcResult = my calculations
or, put your calculations all inline with the Max function, and simply define your field as a calc of
If ( Sign ( YourCalcResult ) = -1 ; 0 ; YourCalcResult )