10 Replies Latest reply: Oct 28, 2013 8:26 AM by RONALDO CARRIJO RSS

    como generar datos históricos?

      Necesito que me expliquen si en qlikview puedo generar informes que me permita mostrar periodos vencidos, o sea que si quiero ver como cerré el mes de septiembre me muestre la información como estuve en ese momento o no se puede hacer.

        • Re: como generar datos históricos?
          RONALDO CARRIJO

          Usted puede construir una estructura que permite, hacer la carga de la información y también incluye una columna con la fecha de carga, por lo que u será capaz de redimir a la situación de un registro histórico de la fecha en que la necesidad de u de búsqueda.

          Y nunca subtitua archivo QVD hazlo incremental o dividir un archivo QVD por día.

            • Re: como generar datos históricos?

              Hola Ronaldo,

              Gracias por tu idea, pero la verdad es como soy novato en QlikView me

              gustaria si no te importa me des un ejemplo practico.

               

              1. Como lo entendí primero hago la extracción original que seria el qvd que

              contendria la siguiente informacion

               

              H.Lineamientos:

              LOAD EJE_ESTRATEGICO__c,

                  Id,

                  Nombre,

                  OBJETIVO_2__c,

                  OBJETIVO_3__c,

                  OBJETIVO_4__c,

                  OBJETIVO_5__c,

                  OBJETIVO_6__c,

                  Plan_de_Mercadeo__c

              FROM

               

              (qvd);

               

               

              2. Hago la transformacion sobre la cual agrego el campo de la fecha actual

              que quiero que me guarde

               

              H.Lineamientos:

              LOAD EJE_ESTRATEGICO__c,

                  Id,

                  Nombre,

                  OBJETIVO_2__c,

                  OBJETIVO_3__c,

                  OBJETIVO_4__c,

                  OBJETIVO_5__c,

                  OBJETIVO_6__c,

                  Plan_de_Mercadeo__c,

                  Today()

              FROM

               

              (qvd);

               

              STORE H.Lineamientos INTO ..\QVD\TRANSFORMACION\H.Lineamientos.QVD;

              DROP TABLE H.Lineamientos;

               

              No se si esta es la ruta o estoy equivocado o me falta.

              GARACIAS.

               

               

               

               

               

               

               

               

               

               

               

               

               

               

              El 21 de octubre de 2013 11:34, Ronaldo Carrijo

              <qcwebmaster@qlik.com>escribió:

               

              **

                  QlikCommunity <http://community.qlik.com/>  como generar datos

              históricos?

               

              reply from Ronaldo Carrijo<http://community.qlik.com/people/ronaldocarrijo?et=watches.email.thread>in

              *Community Information * - View the full discussion<http://community.qlik.com/message/409692?et=watches.email.thread#409692>

                • Re: como generar datos históricos?
                  RONALDO CARRIJO

                  Hay dos maneras:

                  1)

                   

                  let DtLoad=Date(Today(),'YYYYMMDD');


                  H.Lineamientos:
                  LOAD
                  EJE_ESTRATEGICO__c,
                       Id,
                       Nombre,
                       OBJETIVO_2__c,
                       OBJETIVO_3__c,
                       OBJETIVO_4__c,
                       OBJETIVO_5__c,
                       OBJETIVO_6__c,
                       Plan_de_Mercadeo__c,
                       Today()   AS Dt_Load
                  FROM (qvd);

                  STORE H.Lineamientos INTO ..\QVD\TRANSFORMACION\H.Lineamientos_$(DtLoad).QVD;
                  DROP TABLE H.Lineamientos;

                   

                   

                  2)

                   

                  H.Lineamientos:
                  LOAD
                       EJE_ESTRATEGICO__c,
                       Id,
                       Nombre,
                       OBJETIVO_2__c,
                       OBJETIVO_3__c,
                       OBJETIVO_4__c,
                       OBJETIVO_5__c,
                       OBJETIVO_6__c,
                       Plan_de_Mercadeo__c,
                       Today()   AS Dt_Load
                  FROM (qvd);

                  if FileSize('..\QVD\TRANSFORMACION\H.Lineamientos.QVD')>0 then
                  H.Lineamientos:
                  LOAD *
                  FROM ..\QVD\TRANSFORMACION\H.Lineamientos.QVD (qvd);
                  ENDIF


                  STORE H.Lineamientos INTO ..\QVD\TRANSFORMACION\H.Lineamientos.QVD;
                  DROP TABLE H.Lineamientos;


                  Nota: En la primera vc almacenará un QVD por día, y segundos datos u está aumentando al mismo QVD;


              • Re: como generar datos históricos?

                Claro que se puede puedes hacerlo de la siguiente manera en tu script :

                 

                Store *FROM Mi_Tabla  INTO <nombre_de_archivo>.xls,qvd,txt.....etc;

                 

                Saludos!

                • Re: como generar datos históricos?

                  Hola, puedes hacer algo así como la siguiente estructura...

                   

                  //Cargas la tabla con la información del día actual y agregas un campo que identifique el día actual.

                  Tabla:

                  Load

                  Today() as fecha_hoy,

                  *

                  From Source_table;

                   

                  //Almacenas los datos en un Archivo QVD con la fecha del día de la carga.

                  Store Tabla Into table_fecha_hoy.qvd;

                   

                  //Luego puedes cargar todos los qvd

                  Tabla_Historicos:

                  Load * from  table_fecha_*.qvd(qvd);

                   

                   

                  Saludos.

                    • Re: como generar datos históricos?

                      Hola Ronald mira que te parece de esta forma,

                       

                      D.Contactos:

                      LOAD AccountId,

                           ACTIVO__c,

                           CARGO_CONTACTO__c,

                           CIUDAD__c,

                           DIRECCION__c,

                           Email,

                           FECNAC__c,

                           Id,

                           Name,

                           OwnerId,

                           Phone,

                           Today()

                       

                      FROM

                       

                      (qvd);

                       

                      if FileSize('..\QVD\TRANSFORMACION\D.Contactos.QVD')>0 then

                       

                      CONCATENATE D.Contactos:

                       

                      LOAD *

                      FROM ..\QVD\TRANSFORMACION\D.Contactos.QVD (qvd);

                       

                      ENDIF

                       

                      STORE D.Contactos INTO ..\QVD\TRANSFORMACION\D.Contactos.QVD;

                      DROP TABLE D.Contactos;

                       

                      lo concatene para que me adiciones los campos nuevos y no se me duplique

                      los registros.

                       

                      A hora te pregunto yo puedo hacer que los periodos de creacion sean cada 30

                      del mes o es mejor que se cree diario,

                      me guarda la misma informacion.

                       

                       

                      2013/10/24 ernesto gaona <qcwebmaster@qlik.com>

                       

                      **

                           QlikCommunity <http://community.qlik.com/>   como generar datos

                      históricos?

                       

                      reply from ernesto gaona<http://community.qlik.com/people/ernesto.gaona?et=watches.email.thread>in

                      *Community Information * - View the full discussion<http://community.qlik.com/message/412155?et=watches.email.thread#412155>

                       

                      • Re: como generar datos históricos?

                        lo anterior en la transformacion y en el modelo lo hice de esta forma

                         

                        Contactos:

                        LOAD AccountId,

                             ACTIVO__c,

                             CARGO_CONTACTO__c,

                             CIUDAD__c,

                             DIRECCION__c,

                             Email,

                             FECNAC__c,

                             Id,

                             Name,

                             OwnerId,

                             Phone,

                             ,

                             Year()                                 As ,

                        Month()                           As ,

                        Num(Month(),'00')           As MesNumero,

                        Day()                               As ,

                        Week()                            As

                        FROM

                         

                        (qvd);

                         

                        Que te parece..

                         

                         

                        El 25 de octubre de 2013 13:10, Jaime ceron ojeda <jco0682@gmail.com>escribió:

                         

                        Hola Ronald mira que te parece de esta forma,

                         

                        D.Contactos:

                        LOAD AccountId,

                             ACTIVO__c,

                             CARGO_CONTACTO__c,

                             CIUDAD__c,

                             DIRECCION__c,

                             Email,

                             FECNAC__c,

                             Id,

                             Name,

                             OwnerId,

                             Phone,

                             Today()

                         

                        FROM

                         

                        (qvd);

                         

                        if FileSize('..\QVD\TRANSFORMACION\D.Contactos.QVD')>0 then

                         

                        CONCATENATE D.Contactos:

                         

                        LOAD *

                        FROM ..\QVD\TRANSFORMACION\D.Contactos.QVD (qvd);

                         

                        ENDIF

                         

                        STORE D.Contactos INTO ..\QVD\TRANSFORMACION\D.Contactos.QVD;

                        DROP TABLE D.Contactos;

                         

                        lo concatene para que me adiciones los campos nuevos y no se me duplique

                        los registros.

                         

                        A hora te pregunto yo puedo hacer que los periodos de creacion sean cada

                        30 del mes o es mejor que se cree diario,

                        me guarda la misma informacion.

                         

                        >

                        2013/10/24 ernesto gaona <qcwebmaster@qlik.com>

                         

                        >> **

                        >>      QlikCommunity <http://community.qlik.com/>   como generar datos

                        >> históricos?

                        >>

                        >> reply from ernesto gaona<http://community.qlik.com/people/ernesto.gaona?et=watches.email.thread>in

                        >> *Community Information * - View the full discussion<http://community.qlik.com/message/412155?et=watches.email.thread#412155>

                        >>

                          • Re: como generar datos históricos?

                            Hola Jaime,   Guardar la información diaria sería mejor, porque así tienes la historia día a día de los registros, claro todo depende que que tan importante sería ver la información a nivel de día.

                             

                            La carga puede ser :

                             

                            Load * From Tabla where fecha_principal = today;  // fecha principal va a ser la fecha por ejemplo: fecha_crearción_contacto que va a tener la fecha en que se agrego el contacto..

                             

                            Lo almacenas en un que tenga los registros de la fecha de hoy o mas bien.. puedes hacer una carga incremental para que tengas un solo archivo de historia.

                             

                            Saludos.

                        • Re: como generar datos históricos?
                          RONALDO CARRIJO

                          Si todos los días, se tienen registros históricos diarios, si lo hace en el último día del mes que se tienen registros mensuales históricos eran se duplica, porque tienes la configuración para cada día / mes depende de lo que u necesidad de mostrar, por ejemplo,

                          1) Vc necesita para mostrar la evolución histórica de su cartera, en este caso los registros duplicados pueden dar una idea de cómo funciona su cartera durante un período.


                          2) Sin la visión de duplicar la misma visión de la cartera es la cartera actual, es decir, u verá la situación actual y el comportamiento de su orden.


                          Nota: Si carga todos los datos que desea aún más tener una forma de filtrar la situación actual se puede hacer de la siguiente manera:

                          tb_tmp:
                          LOAD
                          *
                          FROM ..\QVD\TRANSFORMACION\H.Lineamientos.QVD (qvd);


                          tbRegister:
                              if(Previous(Id)=Id,0,1)  as Flag_Max,
                              *
                          RESIDENT tb_tmp
                          ORDER BY Id, DT_LOAD DESC;


                          Cuando el Flag_Max campo , será igual a 1 en el caso de la última modificación o la última carga de cada AccountId , así que siempre que desea contar los registros de la última situación u puede utilizar la condición Flag_Max = 1 , por ejemplo :
                          count({<Flag_Max={1}>} EJE_ESTRATEGICO__c)