18 Replies Latest reply: Aug 22, 2014 5:34 PM by juan gomez RSS

    Jerarquía en base

      Buen día.

       

      En este momento tengo un inconveniente con una base de datos que quisiera compartirles para poder obtener su ayuda.

       

      Tengo una base de datos con una llave que se llama ID, pero bajo ese ID se encuentra una red donde unos dependen de otros.

      Ejemplo:

       

      ID               VENTAS    

      1               3000

      3               5000

      5               7000

      7               10000

       

      En esta base el ID = 1 es el principal y el 3, 5 y 7 dependen del 1. Necesito encontrar una forma donde la base me quede de la siguiente forma, que pueda seleccionar el principal y me muestre los que dependen de el y sus respectivas ventas:

       

      ID          ID_2          VENTAS

      1                              3000

                      3              5000

                      5              7000

                      7              10000

      TOTAL                    25000

       

      Gracias por su colaboración, en serio es muy urgente.

       

      Quedo atento

        • Re: Jerarquía en base
          Karla Rivas

          Hola Juan,

           

          Qlik tiene algo llamado Hierarchies, que ayuda a organizar registros que dependen de una jerarquia [Reference Manual - page 214]. Una consulta, en tu tabla como sabes cual es el ID principal, tienes otra columna que aloja este numero o algun tipo de bandera que indica que ese registro con ese ID pertenece a un ID Padre?.

           

          Saludos

            • Re: Jerarquía en base

              Hola Karla,

               

              Efectivamente tengo una columna que contiene un código que me indica cual es el principal y sus respectivos dependientes, aunque en mi base tengo una jerarquía hasta cuatro niveles abajo, así:

               

              1. Distribuidor.

              2. Sub Distribuidor.

              3. Vendedor.

              4. Usuario final.

               

              Quedo atento a tus comentarios.

               

              Saludos.

                • Re: Re: Jerarquía en base
                  Karla Rivas

                  Hola Juan,

                   

                  Adjunto un ejemplo del uso de hierarchy. Únicamente debes indicarle en el primer parámetro el campo que tiene el id, luego especificas el nombre del campo que contiene el padre, y como tercer parámetro el campo que contiene el nombre del padre. En tu caso podrían ser los nombres de los niveles que especificaste anteriormente o puedes colocar el Id si lo deseas. Hierarchy se encarga de construir los diferentes niveles.

                   

                  Espero que esto te ayude un poco.

                   

                  Saludos Cordiales.

                    • Re: Re: Jerarquía en base

                      Hola Karla,

                       

                      No colocaste el archivo adjunto, por favor lo puedes adjuntar para entender el procedimiento.

                       

                      Gracias.

                        • Re: Re: Re: Jerarquía en base
                          Karla Rivas

                          Hola Juan,

                           

                          Adjunto nuevamente el qvw.

                           

                          Saludos Cordiales

                            • Re: Jerarquía en base

                              Buen día, Karla.

                               

                              Que pena contigo, estoy tratando de entender y no he logrado tener el resultado que necesito, habrá alguna forma en la que te pueda compartir un segmento de la base, para que de esta forma me puedas hacer el favor de indicar el debido proceso, o si es que tengo mal estructurada la base.

                               

                              Quedo atento a tus comentarios.

                                • Re: Jerarquía en base
                                  Karla Rivas

                                  Hola Juan,

                                   

                                  Si gustas puedes enviarme un ejemplo de como estan estructuradas las tablas, sobre todo las columnas que te interesa procesar.

                                   

                                  Saludos

                                    • Re: Jerarquía en base

                                      Hola Karla,

                                       

                                      Antes que nada, gracias por tu ayuda.

                                       

                                      Adjunto encontraras un ejemplo de la base que estoy intentando procesar.Encontraras dos hojas, en la hoja Base Ventas, es como viene directamente de la base de datos original, solo hace una distinción de que tipo de cliente es, pero no los coloca en forma de árbol; en la hoja Base_Clientes, es la forma en la que deseo mostrar la información, ya que por el modelo de negocio, los saldos se concentran en los cuatro niveles, aunque en ciertas ocasiones del primer nivel se salta al tercero ya que son clientes directos al igual que se repite de acuerdo a las fechas de movimiento (el ejemplo corresponde a una fracción de día, la base completa tiene tres años). En este momento tengo la información como se ve en la hoja Base Ventas, pero aún no logro armar el árbol jerárquico a través de la instrucción que me habías compartido.

                                       

                                      Quedo atento a tus comentarios.

                                       

                                      Gracias.

                                        • Re: Jerarquía en base
                                          Karla Rivas

                                          Hola Juan,

                                           

                                          Estaba revisando el archivo que me enviaste y tengo una consulta, por ejemplo para el PUNTO con ID 260424 veo que segun el arreglo que quieres mostrar este deberia estar bajo el VENDEDOR 72983, actualmente como determinan las relaciones entre los diferentes IDs (es decir como definen quien esta bajo que ID). Tienen esta informacion almacenada en algun lado (base de datos o spreadsheet por ejemplo).

                                           

                                          Saludos

                                            • Re: Jerarquía en base

                                              Hola Karla,

                                               

                                              Hay unas tablas que determinan los puntos debajo de quien deben estar y la unión de las mismas son las que, en este momento, me permiten mostrar la hoja de Base Clientes. Para explicarte mejor, hay una tabla que tiene la relación entre el DISTRIBUIDOR_PADRE y el SUBDISTRIBUIDOR; otra con la relación entre el DISTRIBUIDOR_PADRE y el VENDEDOR, en esta también esta la relación entre el SUBDISTRIBUIDOR y el VENDEDOR (cuando se baja a un tercer nivel, el SUBDISTRIBUIDOR toma atributos del DISTRIBUIDOR_PADRE); hay otra que muestra la relación entre el DISTRIBUIDOR_PADRE y el PUNTO así mismo como la del SUBDISTRIBUIDOR y el PUNTO; y por último hay una que muestra la relación entre el VENDEDOR y el PUNTO.

                                               

                                              Pero en la base general de ventas no hace una discriminación por tipo de cliente, solo tiene el ID de cada uno de ellos. Para poder identificar ese ID a que tipo pertenece, ya sea a DISTRIBUIDOR_PADRE o SUB o VEN o PUN, tengo que cruzarla con otra tabla que tiene esa relación.

                                               

                                              En si debo usar una tabla con las ventas acumuladas por cada ID, una tabla para dar el tipo de cliente y cuatro tablas con con las relaciones de jerarquía entre los clientes.

                                               

                                              Espero haber sido claro, a veces es algo confuso entender esta relación.

                                               

                                              Quedo atento a tus comentarios.

                                               

                                              Gracias.