I like this better:
declare @bntTotalRowsScanned bigint
select @bntTotalRowsScanned = sum(i.rowcnt * u.user_scans)
from sys.dm_db_index_usage_stats as u
inner joinsys.sysobjects as o on u.object_id = o.id and o.xtype = 'U'
inner joinsys.sysindexes as i on u.index_id = i.indid and o.id = i.id
where u.database_id = db_id()
select top 10 o.name as 'Table'
, isnull(i.name, '(Heap, No Indexes)') as 'Index'
, i.rowcnt as 'Est Rows'
, u.user_seeks as 'Seeks'
, u.user_scans as 'Scans'
, u.user_lookups as 'Lookups'
, i.rowcnt * u.user_scans as 'Rows Scanned'
, cast(cast(i.rowcnt * u.user_scans * 100 as float) /cast(@bntTotalRowsScanned as float) as decimal(5,2)) as PctTotal
from sys.dm_db_index_usage_stats as u
inner joinsys.sysobjects as o on u.object_id = o.id and o.xtype = 'U'
inner joinsys.sysindexes as i on u.index_id = i.indid and o.id = i.id
where u.database_id = db_id()
order by 7 desc