Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Saludos. Esta consulta SAP funciona perfectamente, pero se tarda mucho en realizarse, porque la tabla KONV es muy extensa.
[KONV]: // Conditions (Transaction Data)
Load
[MANDT] as [MANDT.KONV],
[KNUMV] as [KNUMV.KONV],
[KPOSN] as [KPOSN.KONV],
[KSCHL] as [KSCHL.KONV],
[KDATU] as [KDATU.KONV],
[KAWRT] as [KAWRT.KONV],
[KBETR] as [KBETR.KONV],
[KMEIN] as [KMEIN.KONV],
[SAKN1] as [SAKN1.KONV],
[KWERT] as [KWERT.KONV];
SQL Select KSCHL KBETR KMEIN MANDT KWERT KAWRT KNUMV KPOSN KDATU SAKN1 from KONV;
STORE * FROM [KONV] INTO KONV.QVD;
DROP TABLE [KONV];
Lo que quiero es hacer la misma consulta pero en la clausula WHERE filtrar para el año y mes, por ejemplo si solo necesitara en año 2013 y mes Noviembre:
[KONV]: // Conditions (Transaction Data)
Load
[MANDT] as [MANDT.KONV],
[KNUMV] as [KNUMV.KONV],
[KPOSN] as [KPOSN.KONV],
[KSCHL] as [KSCHL.KONV],
[KDATU] as [KDATU.KONV],
[KAWRT] as [KAWRT.KONV],
[KBETR] as [KBETR.KONV],
[KMEIN] as [KMEIN.KONV],
[SAKN1] as [SAKN1.KONV],
[KWERT] as [KWERT.KONV];
SQL Select KSCHL KBETR KMEIN MANDT KWERT KAWRT KNUMV KPOSN KDATU SAKN1 from KONV
Where Year(KDATU) = '2013' AND Month(KDATU) = '11' ;
STORE * FROM [KONV] INTO KONV.QVD;
DROP TABLE [KONV];
Pero genera un error:
Error en la lectura personalizada
SQL Select KSCHL KBETR KMEIN MANDT KWERT KAWRT KNUMV KPOSN KDATU SAKN1 from KONV
Where Year(KDATU) = '2013' and Month(KDATU) = '11'
Al parecer no puede extraer el año y/o mes del campo KDATU, o como si no se pudieran colocar funciones en la clausula WHERE.
Alguien a podido hacer este tipo de consultas? Gracias.
Hola como estas?
Lo primero que tenes que hacer es ver el formato en que te viene la fecha desde la tabla de sap
una vez que sepas este formato, podes armar una variable en qlikviews, con ese mismo formato que vas a utilizar para hacer el where en la condicion
te muestro un ejemplo:
//Obtengo dia,mes, año
let mes=MID(v3,3,2);
let dia = left(v3,2);
let anio= Right(v3,4);
let total=anio&mes&dia;
//luego de esto, total vale 20140215
//y esta variable es la que vas a utilizar en el where (esta variable o el mes entero eso es segun tu necesidad)
SQL Select VTWEG KUNRE FKART WERKS VKBUR VKGRP BUDAT ARTNR TIMESTMP KNDNR RBELN WWVEN ERLOS RABAT ABSMG_ME ABSMG VBELN KURSF PALEDGER VVI00 VVI02 KWSKTO VVC40 VRGAR COPA_AWTYP VVMAT from CE1DIVI
WHERE COPA_AWTYP ='VBRK' and BUDAT = '$(total)';
cualquier cosa a las ordenes,
Fernando
Fernando, primero que toda gracias por la respuesta. Tengo una duda en la defición de las variables (mes, dia, anio) se especifica v3, como la deficinión de las variables es lo primero que se hace, qué se supone que es v3? O es que debo reemplazar ese dato por la fecha que yo quiero?
Gracias.
Javier como estas, v3 en mi caso es l caso de today()
let v3= REPLACE(LTRIM(REPLACE('$(vartoday)', '/', '')), ' ', '0');
pero en tu caso seria la fecha por la queres filtrar , si queres usar un campo de fecha de sap lo tenes que utilizar ahi
cualquier cosa avisame
abzo
Fernando, aunque me sirvió tu idea exactamente, si pude crear una solución a mi caso basándome en ella, en resumen si quiero de KONV los registro de un año específico y como no puedo en la clausula WHERE extraer el año porque genera error, por ejemplo Year(KDATU) = '2014', hice lo siguiente en la clausula:
WHERE KDATU >= '20140101' AND KDATU < '20150101'
Saludos.