Hi
You can look at joining sys.partitions to sys.allocation_units.
Once you have that done you can just sum that data pages.
that will give you the physical size.
If you want the number of rows there is a function for partitions that will do this.
USE AdventureWorks2008R2 ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition,
COUNT(*) AS [COUNT] FROM Production.TransactionHistory
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;