Determinantes
Los determinantes reflejan la granularidad mediante la representación de subconjuntos o grupos de datos en un asunto de consulta, y se utilizan para asegurar la correcta agregación de estos datos repetidos. Los determinantes están más relacionados con el concepto de claves e índices del origen de datos y se importan según una clave única y la información de índice existente en el origen de datos. Se recomienda revisar siempre los determinantes que se importen y, si fuera necesario, modificarlos o bien crear otros nuevos. Mediante la modificación de determinantes puede reemplazar la información de índice y de clave de su origen de datos por información que esté mejor alineada con sus necesidades de creación de informes y análisis. Al añadir determinantes, puede representar grupos de datos repetidos, relevantes para su aplicación.
Un ejemplo de un determinante único es Day en el ejemplo de Time que se muestra a continuación. Un ejemplo de determinante no único es Month; la clave de Month se repite durante el número de días de un mes determinado. Cuando define un determinante no único, debe especificar Group By. Esto indica al software IBM® Cognos que cuando las claves o los atributos asociados a ese determinante se repiten en los datos, debe aplicar agrupaciones y funciones de agregado para evitar recuentos repetidos. No se recomienda especificar determinantes que tienen tanto Uniquely Identified como Group By seleccionadas o que no tengan seleccionada ninguna de las dos opciones.
Year Key | Month Key | Month Name | Day Key | Day Name |
---|---|---|---|---|
2006 | 200601 | January 06 | 20060101 | Sunday, January 1, 2006 |
2006 | 200601 | January 06 | 20060102 | Monday, January 2, 2006 |
Puede definir tres determinantes para este conjunto de datos de la siguiente forma: dos determinantes Group By (Year y Month) y un único determinante (Day). El concepto es parecido pero no idéntico al concepto de niveles y jerarquías.
Nombre del determinante | Clave | Atributos | Identificado exclusivamente | Agrupar por |
---|---|---|---|---|
Year | Year Key | Ninguno | No | Sí |
Month | Month Key | Month Name | No | Sí |
Day | Day Key | Day Name Month Key Month Name Year Key |
Sí | No |
En este caso, sólo se utiliza una clave para cada determinante porque cada clave contiene información suficiente para identificar un grupo en los datos. A menudo, especificar el mes (Month) puede resultar confuso si la clave no contiene información suficiente para clarificar el año al que pertenece el mes. Sin embargo, en este caso, la clave de mes (Month) incluye la clave de año (Year) y, de esta forma por sí misma es suficiente para identificar los meses como una subagrupación de los años.
Nota: Aunque puede crear un determinante que agrupe los meses sin el contexto de los años, esta se trataría de una opción de creación de informes menos habitual porque todos los datos de febrero (February) de todos los años se agruparían conjuntamente en vez de que se agruparan todos los datos de febrero de 2006 (February 2006).
Utilizar determinantes con claves compuestas de varias partes
En el ejemplo de dimensión Time anterior, una clave era suficiente para identificar cada conjunto de datos para un determinante pero esto no es siempre así.
Por ejemplo, la siguiente dimensión Geography utiliza definiciones de clave de varias partes para todos los determinantes excepto uno.
Región | Clave de región | Clave de estado/provincia | Clave de ciudad |
---|---|---|---|
North America | USA | Illinois | Springfield |
North America | USA | Missouri | Springfield |
North America | USA | California | Dublin |
Europe | Ireland | n/d | Dublin |
Como sucede en el ejemplo de Time, puede definir tres determinantes para este conjunto de datos de la siguiente forma: dos determinantes Group By (Region y State/Province) y un determinante exclusivo (City).
Nombre del determinante | Clave | Atributos | Identificado exclusivamente | Agrupar por |
---|---|---|---|---|
Región | Region Key | Ninguno | No | Sí |
State/Province | State/Province Key | Ninguno | No | Sí |
City | Region Key State/Province Key City Key |
Ninguno | Sí | No |
En este caso, utilizamos la clave Region, la clave State/Province y la clave City para garantizar que City es una clave exclusiva. Esto se ha hecho porque en los datos facilitados, el nombre de algunas ciudades se repetía en varios estados o provincias que, a su vez, se repetían en algunas regiones.
Los determinantes se evalúan en el orden en el que se especifican
En los determinantes no existe el concepto de jerarquía pero existe un orden de evaluación. Cuando el software IBM Cognos analiza una selección de elementos de un asunto de consulta, los compara con cada determinante (claves y atributos) uno por uno y en el orden fijado en la pestaña Determinantes. De esta forma, el software IBM Cognos selecciona el determinante que constituye la mejor coincidencia.
En el siguiente ejemplo, el mes actual, los días del mes y los nombres de meses localizados de los atributos se asocian a la clave Month. Cuando se envía una consulta que hace referencia a cualquiera de estos atributos, el determinante Month es el primero en el que se cumplen los criterios de correspondencia. Si no se necesitan otros atributos, la evaluación de los determinantes se detiene en Month y éste se utiliza para las cláusulas group y for en SQL.
En los casos en los que también se incluyen otros atributos de la dimensión, si dichos atributos no se han correlacionado con un determinante anterior, el software IBM Cognos continúa evaluando hasta que encuentra una coincidencia o llega al último determinante. Este es el motivo por se asocia a un determinante único todos los elementos de la consulta. Si no se encuentran otras coincidencias, se utiliza la clave única de todo el conjunto de datos para determinar cómo se agrupan los datos.

Situaciones en las que deben utilizarse determinantes
Mientras que los determinantes se pueden utilizar para solucionar diversos problemas relacionados con la granularidad de los datos, siempre deben utilizarlos en los siguientes casos:
- Un asunto de consulta que se comporta como una dimensión tiene varios niveles de granularidad y se unirá a datos de hechos en diferentes conjuntos de claves.
Por ejemplo, Time tiene varios niveles y está unido a Inventory en la clave Month y a Sales en la clave Day. Para obtener más información, consulte: Consultas de varios hechos y consultas de granularidad múltiple.
- Es necesario contar o realizar otras funciones de agregado en una clave o atributo que se repite.
Por ejemplo, Time tiene una clave Month y un atributo, Days in the month, que se repiten cada día. Si desea utilizar Days in the month en un informe, no le interesa obtener la suma de Days in the month de cada día del mes, sino que desea obtener el valor único de Days in the month correspondiente a la clave Month. En SQL, es XMIN(Days in the month for Month_Key). También existe una cláusula Group by en Cognos SQL.
Existen otros casos menos comunes en los que es necesario utilizar determinantes:
- Supongamos que desea identificar de forma única la fila de datos al recuperar los datos del BLOB de texto del origen de datos.
Para la consulta de blobs es necesaria información adicional de tipo clave o índice. Si dicha información no se encuentra en el origen de datos, podrá añadirla mediante determinantes. Reemplace los determinantes importados del origen de datos que estén en conflicto con las relaciones creadas para la creación de informes.
No puede utilizar claves de varios segmentos cuando el asunto de consulta accede a los datos del blob. Con las consultas de resumen, los datos del blob se deben recuperar de forma independiente a la parte del resumen de la consulta. Para ello, necesita una clave que identifique de forma única la fila, y la clave no debe tener varios segmentos.
- Se especificará una unión que utilice menos claves que un determinante único que se especifique para un asunto de consulta.
Si su unión se crea en un subconjunto de las columnas a las que se hace referencia mediante claves de un determinante único en la parte 0..1 o 1..1 de la relación, se producirá un conflicto. Resuelva este conflicto modificando la relación para que coincida completamente con el determinante o modificando el determinante para que soporte la relación.
- Supongamos que desea reemplazar los determinantes importados del origen de datos que estén en conflicto con las relaciones creadas para la creación de informes.
Por ejemplo, existen determinantes en dos asuntos de consulta en relación con varias columnas, pero la relación entre los asuntos de consulta sólo utiliza un subconjunto de dichas columnas. Modifique la información de los determinantes del asunto de consulta si no es adecuado utilizar las columnas adicionales en la relación.