Here is what I used to populate my DataSet
SELECT 'ABC' AS Company, 1000000 AS Revenue UNION ALL
SELECT 'DEF' AS Company, 1550000 AS Revenue UNION ALL
SELECT 'GHI' AS Company, 2100000 AS Revenue UNION ALL
SELECT 'JKL' AS Company, 2010000 AS Revenue
Here is the Expression I Used
=Fields!Company.Value + " (" + CStr(SUM(Fields!Revenue.Value)/1000000) + "M)"
and It Does exactly what your asking.
By Using the Function FormatNumber(<<Expr>>,2) Your telling it to force the Number to be 2 Decimal places.
If you CStr a Number it automatically removes the trailing zeros.
if you don't trust it, a more explicit removal is in order I suppose.
But this looks way worse.
="(" + iif(CStr(FormatNumber(CStr(CDbl(Fields!Revenue.Value)/1000000),2)).EndsWith("00"),Left(CStr(FormatNumber(CStr(CDbl(Fields!Revenue.Value)/1000000),2)),Len(FormatNumber(CStr(CDbl(Fields!Revenue.Value)/1000000),2))-3),iif(CStr(FormatNumber(CStr(CDbl(Fields!Revenue.Value)/1000000),2)).EndsWith("0"),Left(CStr(FormatNumber(CStr(CDbl(Fields!Revenue.Value)/1000000),2)),Len(FormatNumber(CStr(CDbl(Fields!Revenue.Value)/1000000),2))-1),CStr(FormatNumber(CStr(CDbl(Fields!Revenue.Value)/1000000),2)))) + "M)"