Estoy creando una consulta para extraer datos de teradata que usaré en tableau, ¿qué parte de mi consulta necesito corregirla?

Esta consulta que probé en el asistente de Teradata sql, funcionó, pero cuando me muevo al cuadro, siempre termina con el error ORDER BY no está permitido en las subconsultas

Debajo de la consulta sql de teradata:

    Select  
    ChannelType,Group,
    LevelType,
    EXTRACT(YEAR From CDate) as KYear, 
    EXTRACT(MOnth From CDate) as KMonth, 

    Case 
    when Position('Live' IN modeType) >0 then 'L'
    else 'S'
    end as LS,

    Sum(watch) as Watches,
    Sum(amount) as amounts
    zeroifnull(amounts)/zeroifnull(Watches,)as result,

    CASE 
    WHEN result >0 then 'WIN'
    ELSE 'LOSE'
    END AS WL Class

    From Mart_wodo.data where
    CDate between date'2018-01-01' and date'2018-12-31'  and
    Group in('L1','L2','L3','L4','L5') and
    LevelType NOT IN('0') and 
    Channeltype in('TV','TY,'IG')

    Group By Channeltype , Group, LevelType, KYear, KMonth,LS

    Order BY  KYear, KMonth,Channeltype, Group,LS asc
0
hermansusandy 22 sep. 2019 a las 16:11

1 respuesta

La mejor respuesta

Supongo que Tableau está ajustando su consulta en un SELECT externo, por lo que recibe el mensaje de error ORDER BY not allowed, pero funciona como está en el Asistente de SQL.

Si ese es el caso, deberá eliminar la cláusula ORDER BY y ver si puede especificar el orden final a través de Tableau. O posiblemente envuelva su SQL en una vista y acceda a la vista a través de Tableau: enlace

Como un truco potencial (probablemente no funcionará), puede intentar reordenar las columnas GROUP BY o agregar una función de ventana ficticia con una cláusula ORDER BY y ver si eso tiene algún efecto:

Select  
  ChannelType,Group,
  ...
  ROW_NUMBER() OVER(ORDER BY KYear, KMonth, Channeltype, Group, LS ASC) AS RowNum

From Mart_wodo.data where
CDate between date'2018-01-01' and date'2018-12-31'  and
Group in('L1','L2','L3','L4','L5') and
LevelType NOT IN('0') and 
Channeltype in('TV','TY,'IG')

Group By KYear, KMonth, Channeltype, Group, LS, LevelType
0
ravioli 22 sep. 2019 a las 13:42