Grouping over multiple data dimensions (pivot)
The PIVOT operator may be of help. Take a look at Books Online

For example:

SELECT 
    DtStart AS Date, 
    ISNULL([1], 0) AS [Server 1], 
    ISNULL([2], 0) AS [Server 2], 
    ISNULL([3], 0) AS [Server 3]
FROM
(
    SELECT 
        DtStart, 
        nServerID, 
        NDirection 
    FROM dbo.events 
) AS SourceTable
PIVOT
(
    SUM(NDirection)
    FOR nServerID IN ([1], [2], [3])
) AS PivotTable
ORDER BY 
    DtStart ASC