Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Not applicable

Extraer la hora de un campo fecha

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

1 Solution

Accepted Solutions
MVP
MVP

Re: Extraer la hora de un campo fecha

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()

7 Replies
Not applicable

Re: Extraer la hora de un campo fecha

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

Not applicable

Re: Extraer la hora de un campo fecha

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.

Not applicable

Re: Extraer la hora de un campo fecha

Lo resolvi creando una vista en la base de datos

MVP
MVP

Re: Extraer la hora de un campo fecha

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()

MVP
MVP

Re: Extraer la hora de un campo fecha

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;

Not applicable

Re: Extraer la hora de un campo fecha

Muchas gracias Miguel, si bien lo solucioné creando una vista en sql, voy a probar lo que me sugieres.

Not applicable

Re: Extraer la hora de un campo fecha

Muchas gracias Massimo, veo que tenía varias opciones. Probaré para ir ampliando mis herramientas.