Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buen día a todos, soy nuevo en Qlikview, y editando el script me encuentro con el siguiente problema. De un campo fecha, pude extraer MES, DIA y AÑO pero al intentar extraer la HORA, en la compilación el programa me dice que la funcion no está incorporada. Que me puede estar faltando definir?.
Desde ya gracias
Alfredo, estás aplicando la función Hour() en la base de datos, no en QlikView. Todo lo que va tras SQL SELECT es interpretado por la base de datos mientras que todo lo que va tras LOAD es interpretado por Qlik. Si el driver o la base de datos no aceptan la función Hour() tendrás que o bien hacerlo en la parte del LOAD o bien usando la función de conversión correspondiente. Muy probablemente esta función sea Time()
Perdón, agrego mas datos
SQL SELECT CODCAJ,
CODCMP,
CODCTACTE,
CODCUE,
CODEMP,
CODSUC,
CODTRAT,
FECHA,
FECHAREGORI,
day(FECHAREGORI) as DI,
month(FECHAREGORI)as ME,
year(FECHAREGORI) as AN,
Hour(FECHAREGORI)as hor,
NROTRANS,
NUMERO,
NUMEROEXT,
PREFIJO,
TOTAL,
TOTALCANT,
TOTALIVA
FROM dbo.transac;
lo que está en negrita genera el problema
Este es el error que me da
SQL##f - SqlState: 37000, ErrorCode: 195, ErrorMsg: [Microsoft][ODBC SQL Server Driver][SQL Server]'Hour' no es un nombre de función integrada reconocido.
Lo resolvi creando una vista en la base de datos
Alfredo, estás aplicando la función Hour() en la base de datos, no en QlikView. Todo lo que va tras SQL SELECT es interpretado por la base de datos mientras que todo lo que va tras LOAD es interpretado por Qlik. Si el driver o la base de datos no aceptan la función Hour() tendrás que o bien hacerlo en la parte del LOAD o bien usando la función de conversión correspondiente. Muy probablemente esta función sea Time()
I think you have more than one problem
In Sql Server you can use the datepart function to extract year, month, etc...., hour
DATEPART (Transact-SQL) | Microsoft Docs
Another option is to use a preceding load; with this option you can use the year, month, and all the QlikView function
LOAD
*,
year(FECHAREGORI) as AN,
.....
;
SQL SELECT CODCAJ,
CODCMP,
CODCTACTE,
CODCUE,
CODEMP,
CODSUC,
CODTRAT,
FECHA,
FECHAREGORI,
NROTRANS,
NUMERO,
NUMEROEXT,
PREFIJO,
TOTAL,
TOTALCANT,
TOTALIVA
FROM dbo.transac;
Muchas gracias Miguel, si bien lo solucioné creando una vista en sql, voy a probar lo que me sugieres.
Muchas gracias Massimo, veo que tenía varias opciones. Probaré para ir ampliando mis herramientas.