Here is a simple query to get space usage by data file:
SELECT
a.FILEID,
[FILE_SIZE_MB] = CONVERT(decimal(12,2),ROUND(a.size/128.000,2)),
[SPACE_USED_MB] = CONVERT(decimal(12,2),ROUND(FILEPROPERTY(a.name,'SpaceUsed')/128.000,2)),
[FREE_SPACE_MB] = CONVERT(decimal(12,2),ROUND((a.size–FILEPROPERTY(a.name,'SpaceUsed'))/128.000,2)) ,
NAME = LEFT(a.NAME,24),
FILENAME = LEFT(a.FILENAME,55)
FROM dbo.sysfiles a