Octave / MATLAB, 33 bytes
@(s)mean(any(65:90==upper(s)',1)) Explanation
@(s) % Anonymous function with input s: row vector of chars 65:90 % Row vector with ASCII codes of uppercase letters upper(s) % Input converted to uppercase ' % Transform into column vector == % Equality test, element-wise with broadcast. Gives a % matrix containincontaining true and false any( ,1) % Row vector containing true for columns that containhave at % at least one entry with value true mean( ) % Mean