If i understand you well, you have to use
Pivot[
^].
SELECT StepName, [Product1], [Product2], [Product3]
FROM (
SELECT StepName, ProductName, COUNT(*) AS StepsCount
FROM Table1
GROUP BY StepName, ProductName
) AS DT
PIVOT (SUM(StepsCount) FOR (ProductName) IN ([Product1], [Product2], [Product3])) AS PT
Try!