Saltar al contenido principal Saltar al contenido complementario

Mejores prácticas de modelado de datos

Esta sección describe las distintas maneras en que puede cargar sus datos en una app de Qlik Sense, dependiendo de cómo se estructuran los datos y del modelo de datos deseado.

Convertir columnas de datos en filas

Nuestros datos probablemente tendrán el siguiente aspecto, y queremos tener las cifras de ventas en un campo aparte:

Tabla de datos original
AñoQ1Q2Q3Q4
201334545352
201447566567
201557566371

Acción propuesta  

Utilice el prefijo Crosstable cundo cargue la tabla.

El resultado tendrá el siguiente aspecto:

La tabla tras aplicar el prefijo Crosstable
Year Quarter Sales
2013 Q1 34
2013Q254
2013Q353
2013Q452
2014Q147
.........

Para más información sobre tablas cruzadas, vea Trabajar con tablas cruzadas en el editor de carga de datos y Crosstable.

Convertir filas de datos en columnas

Si tenemos una tabla genérica con tres campos similares a esto, y queremos que cada atributo se muestre como una tabla aparte:

Tabla genérica con tres campos
Object Attribute Value
ball color red
balldiameter25
ballweight3
boxcolor56
boxheight30
boxlength20
boxwidth25

Acción propuesta  

Cree un modelo de datos genérico utilizando el prefijo de carga Generic.

Obtendrá un modelo de datos con el siguiente aspecto:

Modelo de datos genérico.

Para más información sobre datos genéricos, vea Bases de datos genéricas y Generic.

Cargar datos que están organizados en niveles jerárquicos, por ejemplo un diagrama de flujo de una organización

Nuestros datos quizá estén almacenados en tablas de nodos adyacentes con el siguiente aspecto:

Tabla de nodos adyacentes
NodeID ParentNodeID Title
1 - General manager
21Country manager
32Region manager

Acción propuesta  

Cargue los datos con el prefijo Hierarchy para crear una tabla de nodos expandidos:

Tabla de nodos expandidos
NodeID ParentNodeID Title Level1 Level2 Level3
1 - General manager General manager - -
21Country managerGeneral managerCountry manager-
32Region managerGeneral managerCountry managerRegion manager

Para más información sobre niveles jerárquicos, vea Cargar datos jerárquicos y Hierarchy.

Cargar solo registros nuevos o actualizados de una base de datos extensa

Tengo una base de datos con una gran cantidad de registros y no quiero volver a cargar toda la base de datos para actualizar los datos en mi app. Solo quiero cargar registros nuevos o actualizados y eliminar los registros que se van borrando de la base de datos.

Acción propuesta  

Implemente una solución de carga incremental utilizando archivos QVD.

Para más información, vea Cargar registros nuevos y actualizados mediante la carga incremental.

Combinar datos de dos tablas con un campo común

Qlik Sense asociará automáticamente tablas que tengan un campo común, pero queremos controlar cómo se combinan las tablas.

Acción propuesta : Join / Keep

Podemos combinar dos tablas en una única tabla interna con los prefijos Join o Keep.

Para más información, vea Combinar tablas con Join y Keep.

Acción propuesta : Correspondencia

Una alternativa para unir tablas es usar mapping, que automatiza la consulta de valores asociados en una tabla de enlace. Esto puede reducir la cantidad de datos que mostrar.

Para más información, vea Usar mapping como alternativa a join.

Asociar un valor discreto con un intervalo

Tengo una tabla de valores numéricos discretos (Event), y quiero hacerla coincidir con uno o más intervalos (Start y End).

Tabla de valores numéricos discretos (Event)
HoraEventoComentario
00:000Inicio de turno 1
01:181Fin de línea
02:232Reinicio de línea 50%
04:153Velocidad de línea 100%
08:004Inicio de turno 2
11:435Fin de la producción
Tabla cono los intervalos (Start y End)
ComenzarFinOrden
01:0003:35A
02:3007:58B
03:0410:27C
07:2311:43D

Acción propuesta  

Utilice el prefijo IntervalMatch para enlazar el campo Time con el intervalo definido por Start y End.

Para más información, vea Emparejar intervalos con datos discretos.

Si el intervalo no está definido explícitamente con start y end, sino que solo lleva una fecha-hora, como se ve en la tabla inferior, necesitaremos crear una tabla de intervalos.

Tabla con una fecha-hora de cambio
MonedaDatos de cambioTasa
EUR-8,59
EUR28/01/20138,69
EUR15/02/20138,45
USD-6.50
USD10/01/20136.56
USD03/02/20136.30

Para más información, vea Creación de un intervalo de fechas a partir de una sola fecha.

Manejo de valores de campo inconsistentes

Mis datos contienen valores de campo nombrados de forma inconsistente en las distintas tablas. Por ejemplo, una tabla contiene el valor US en País mientras que otra tabla contiene United States. Esta situación impedirá las asociaciones.

Tabla 1
PaísRegión
EE.UU.Maryland
EE.UU.Idaho
EE.UU.Nueva York
EE.UU.California
Table 2
Country Population
United States 304
Japan 128
Brazil 192
China 1333

Acción propuesta  

Haga una limpieza de datos utilizando una tabla de correspondencia (también denominada de enlace), eso comparará los valores y permitirá las asociaciones correctas.

Para más información, vea Limpieza de datos.

Manejo de mayúsculas inconsistentes en valores de campo

Mis datos contienen valores de campo con un formato inconsistente en las distintas tablas. Por ejemplo, una tabla contiene el valor single en Type, mientras que otra tabla contiene Single en el mismo campo. Esta situación evitará las asociaciones, ya que el campo Type contendrá ambos valores, single y Single, las mayúsculas sí cuentan.

Tabla 1
TipoPrecio
único23
doble39
Tabla 2
TipoColor
Color únicoRojo
Color únicoAzul
DobleBlanco
DobleNegro

Acción propuesta  

Si cargó los datos con Añadir datos, puede arreglar esto en el gestor de datos.

  1. En el gestor de datos, abra Table2 en el editor de tabla.
  2. Renombre el campo Type como Table2.Type.

    Si acaba de agregar la tabla con Añadir datos con perfilado de datos habilitado, es posible que el campo ya tenga un nombre Table2.Type para evitar la asociación automática. En este caso, este procedimiento asociará las dos tablas.

  3. Cree un campo calculado usando la expresión Lower(Table2.Type) y denomínelo Type.
  4. Haga clic en Cargar datos.

Table1 y Table2 deberían estar asociados ahora por el campo Type, que solo contiene valores en minúsculas, como single y double.

Si desea utilizar otro estilo diferente, también puede lograr esto con procedimientos similares, pero recuerde que las tablas se asociarán utilizando campos que tengan el mismo nombre.

  • Para obtener todos los valores en mayúscula, como Single, cree el campo calculado Type en la tabla Table1 en su lugar y use la expresión Capitalize(Table1.Type).
  • Para obtener todos los valores en mayúscula, como SINGLE, cree el campo calculado Type en ambas tablas y utilice las expresiones Upper(Table1.Type) y Upper(Table2.Type) respectivamente.

Para más información sobre campos calculados, vea Usar los campos calculados.

Para más información sobre mayúsculas, vea Capitalize Función de script y de gráfico, Lower Función de script y de gráfico y Upper Función de script y de gráfico.

Cargar datos geoespaciales para visualizar los datos en un mapa

Tenemos datos que queremos visualizar en un mapa, por ejemplo, datos de ventas por país, o por tienda. Para utilizar la visualización de mapa necesitamos cargar datos de punto o área.

Acción propuesta  

Podemos cargar datos de punto o área que encajen con nuestras ubicaciones de valores de datos desde un archivo KML o archivo Excel. Además, necesitaremos cargar el fondo del mapa.

Para más información, vea Cargar sus propios datos de mapa.

¿Esta página le ha sido útil?

Si encuentra algún problema con esta página o su contenido (errores tipográficos, pasos que faltan o errores técnicos), no dude en ponerse en contacto con nosotros.