Como usar um alias em um cálculo para outro campo

Alguém sabe se existe uma maneira de replicar o método usado noessa questão de usar o alias de uma subconsulta para realizar cálculos em outro campo no t-SQL?

Tentei usar a mesma sintaxe para a seguinte consulta no MS SQL Express e obtive o erro abaixo:

DECLARE @PracticeID INT
DECLARE @Date1 date
DECLARE @Date2 date

SET @PracticeID = 11015
SET @Date1 = '2017-06-01'
SET @Date2 = '2017-09-01'

SELECT prtc.PracticeName ,COUNT(CASE WHEN udi.DevicePlatform = 'iOS' THEN 1 ELSE NULL END) iOSLogins,  
           COUNT(CASE WHEN udi.DevicePlatform = 'Android' THEN 1 ELSE NULL END) AndroidLogins,
          ( SELECT COUNT(*)
            FROM UserEvent UE
            WHERE UE.EventTypeID = 1 AND
                  UE.PracticeID = au.PracticeID AND
                  (UE.EventDate BETWEEN @Date1 and @Date2)
          ) TotalNumberLogins, 
          (SELECT TotalNumberofLogins) - ((SELECT iOSLogins) + (SELECT AndroidLogins )) DesktopLogins
    FROM UserDeviceInfo UDI JOIN
         AppUser AU ON udi.UserID = au.UserID JOIN
         Practice PRTC ON au.PracticeID = prtc.PracticeID 
    WHERE au.PracticeID = @PracticeID AND 
          (udi.Created BETWEEN @Date1 AND @Date2)
    GROUP BY prtc.PracticeName, au.PracticeID

Mensagem 207, nível 16, estado 1, linha 17 Nome da coluna inválido 'TotalNumberofLogins'. Mensagem 207, nível 16, estado 1, linha 17 Nome da coluna inválido 'iOSLogins'. Mensagem 207, nível 16, estado 1, linha 17 Nome da coluna inválido 'AndroidLogins'.

Não que isso fizesse diferença, mas tentei colocar o apelido entre aspas e colchetes sem sucesso.

Consegui obter o resultado desejado de outro método, executando os cálculos usando os mesmos valores que as variáveis em vez de alias e inserindo-os em uma tabela.

No entanto, essa consulta é detalhada e eu gostaria de saber se existe alguma maneira de replicar o comportamento na pergunta referenciada para uso futuro.

Obrigado por qualquer ajuda que você possa fornecer.

questionAnswers(1)

yourAnswerToTheQuestion