Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi good day,
I'm trying to group a table and I get Invalid expression, how can I solve this problem. This is my script:
CONTRATOS:
LOAD
NIT_IPS&'-'&COD_SERVICIO&'-'&IF(MODELO_CONTRATA='EVENTO','E','OTROS') AS LLAVE1,
COD_SERVICIO,
COD_SUBGRUPO as SUBGRUPO,
COD_GRUPO AS GRUPO,
DESCR_SERVICIO AS DESC_SERVICIO,
ESTADO_CONTRATO,
CONTRATO_ENTIDAD,
CONTRATO_LEGAL,
NIVEL_COMPLEJIDAD,
MODELO_CONTRATA,
IF(trim(MODELO_CONTRATA)='EVENTO','E','OTROS') AS TIPO_CONTRATO,
DATE(Date#(min(FECHAINICIO),'DD/MM/YYYY')) AS FECHAINICIO,
DATE(Date#(max(FECHAFINAL),'DD/MM/YYYY')) AS FECHAFINAL,
// AddMonths(DATE(Date#(FECHAINICIO,'DD/MM/YYYY')),-1) AS FECHAINICIO_ANTERIOR,
PERIODO_TARIFA,
max(VALOR_CONTRATO) as VALOR_CONTRATO,
COSTO_MAYOR,
COSTO_MENOR,
PVP,
PORC_VAR,
INCLUYE,
MANUAL_TARIFARIO,
max(VALOR_FINAL_SERVICIO) as VALOR_FINAL_SERVICIO,
TIPO_DE_CONTRATO,
NIT_IPS ,
RAZON_SOCIAL ,
NOMBRE_SEDE
FROM [lib://qvdsalud (integrasavia_svcqlik)/Contratos.Qvd]
(qvd)
Group by CONTRATO_LEGAL,NIT_IPS,COD_SERVICIO;
Hola,
Perdona que te conteste en español pero me puedo explicar mejor.
Para hacer un GROUP sobre una tabla, el resto de los campos deben ser de valor único para cada valor de la variable o campo por el que agrupas o bien debe ser el resultado de una operación del tipo SUM, COUNT, MAX, MIN, etc
Para que lo puedas comprobar, testea el resultado de:
CONTRATOS:
LOAD
COD_SERVICIO,
CONTRATO_LEGAL,
PERIODO_TARIFA,
max(VALOR_CONTRATO) as VALOR_CONTRATO,
max(COSTO_MAYOR) as Costo_Mayor,
min(COSTO_MENOR) as Costo_Menor,
PVP,
max(VALOR_FINAL_SERVICIO) as VALOR_FINAL_SERVICIO,
NIT_IPS
FROM [lib://qvdsalud (integrasavia_svcqlik)/Contratos.Qvd]
(qvd)
Group by CONTRATO_LEGAL,NIT_IPS,COD_SERVICIO;
Y comprueba que si funciona. Luego añade algún otro valor y comprueba que te da error
Espero haberte ayudado.
Saludos,
Enrique COlomer
Hola,
Perdona que te conteste en español pero me puedo explicar mejor.
Para hacer un GROUP sobre una tabla, el resto de los campos deben ser de valor único para cada valor de la variable o campo por el que agrupas o bien debe ser el resultado de una operación del tipo SUM, COUNT, MAX, MIN, etc
Para que lo puedas comprobar, testea el resultado de:
CONTRATOS:
LOAD
COD_SERVICIO,
CONTRATO_LEGAL,
PERIODO_TARIFA,
max(VALOR_CONTRATO) as VALOR_CONTRATO,
max(COSTO_MAYOR) as Costo_Mayor,
min(COSTO_MENOR) as Costo_Menor,
PVP,
max(VALOR_FINAL_SERVICIO) as VALOR_FINAL_SERVICIO,
NIT_IPS
FROM [lib://qvdsalud (integrasavia_svcqlik)/Contratos.Qvd]
(qvd)
Group by CONTRATO_LEGAL,NIT_IPS,COD_SERVICIO;
Y comprueba que si funciona. Luego añade algún otro valor y comprueba que te da error
Espero haberte ayudado.
Saludos,
Enrique COlomer
Hola,
Perdona que te conteste en español pero me puedo explicar mejor.
Para hacer un GROUP sobre una tabla, el resto de los campos deben ser de valor único para cada valor de la variable o campo por el que agrupas o bien debe ser el resultado de una operación del tipo SUM, COUNT, MAX, MIN, etc
Para que lo puedas comprobar, testea el resultado de:
CONTRATOS:
LOAD
COD_SERVICIO,
CONTRATO_LEGAL,
PERIODO_TARIFA,
max(VALOR_CONTRATO) as VALOR_CONTRATO,
max(COSTO_MAYOR) as Costo_Mayor,
min(COSTO_MENOR) as Costo_Menor,
PVP,
max(VALOR_FINAL_SERVICIO) as VALOR_FINAL_SERVICIO,
NIT_IPS
FROM [lib://qvdsalud (integrasavia_svcqlik)/Contratos.Qvd]
(qvd)
Group by CONTRATO_LEGAL,NIT_IPS,COD_SERVICIO;
Y comprueba que si funciona. Luego añade algún otro valor y comprueba que te da error
Espero haberte ayudado.
Saludos,
Enrique Colomer