Uso de una transformación para el cálculo de 5 últimos valores dentro de una consulta SQL

Aquí está una de mis tareas recientes de interés:

Calcular algunos indicadores sólo para los elementos que están en alta demanda. Un elemento es "una gran demanda", si su valor de venta fue mayor que la constante en cada una de los últimos 5 meses (incluido el mes en curso).

Solución

Primera de nuevo el establecimiento de tareas:

Un artículo una es válida en el mes M como un artículo con gran demanda, si su Abverkäufe en cada uno de los últimos 5 meses (incluido el mes en curso) eran más grandes con una X fijo constante (por ejemplo, fue X = 100). Queremos encontrar y en un informe representan la mayor eficacia posible a todos a tal combinación de A y M (que si es necesario que un filtro Métrico para su uso posterior para que puedas).

He aquí mi solución es utilizar sólo una transformación. Veo la ventaja de esta solución en el hecho de que sólo una vez la tabla de hechos por lo general muy grandes se accede.

Para todos los ejemplos que se utilizan de acuerdo a la norma instalado el proyecto en mi blog de MicroStrategy Tutorial. Por lo tanto, usted puede copiar fácilmente mis ejemplos y probar. Además, es posible comparar varias soluciones de un problema directamente.

Como ya he traicionado, yo uso una transformación en mi solución. Por lo tanto, una visión Transformaciones debe ser definido como la primera. La fuente de datos para el proyecto "MicroStrategy Tutorial" es una base de datos ACCESS TUTORIAL_DATA_7200.mdb.

Ponemos en la siguiente opinión:

SELECCIONAR t1.MONTH_ID, t2.MONTH_ID AS PREV_MONTH_ID, DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE) AS mes_dif
LU_MONTH FROM t1, t2 AS LU_MONTH
WHERE (((DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE)) Entre 0 y 4))
ORDER BY t1.MONTH_ID, t2.MONTH_ID;

La VB-DateDiff función de los suministros aquí el número de meses completos, que se encuentran entre la entrega de valores de fecha. Los gastos de la vista es entonces de tal manera:

Image 1

Llamamos a la vista "MONTH_TO_5_LAST_MONTHS". Ahora la vista en el catálogo de almacén es importada; posteriormente, en la mesa nueva lógica de los objetos se definen las siguientes:

Transformación "carga de 5 meses"

Image 2

Atributo "Meses" Diferencias "

Month Diff

Month Diff

Además, la forma de atributo Mes @ ID debe extenderse automáticamente a la esfera MONTH_ID la nueva tabla:

Month@ID

Ahora queremos construir un Metrik, que "un poco de ruta con 5 dígitos representa" a la forma *****. Cada asterisco lo que corresponde a un mes: el asterisco linkste se refiere al mes en la línea de considerar el informe, el asterisco al lado del mes anterior (en relación a la línea de considerar el informe), etc

En el lugar de cada asterisco queremos indicar la mención "X", si el Abverkaufswert del artículo eran más grandes en la línea de considerar el informe en ese mes la posición correspondiente asterisco 100. De lo contrario, indicar, en lugar de la indicación de asterisco a la O.

Si lo que para un artículo en el mes de mapa de bits está indicado para 200804 "OXXOO, lo que significa que este artículo tenía el Abverkaufswerte sólo en los meses 200.803 y 200.802 más en gran parte 100. Según la definición de establecimiento de las tareas que un artículo que no habría gran demanda en el mes 200804. "Sólo las combinaciones de los artículos y los meses corresponden a la gran demanda, para lo cual se calcula el mapa de bits.

Y aquí la definición de la Metriks es poco-Sales mapa> 100 en la carga de 5 meses:

Metric condition

La dimensión y Konditionalität de la Metrik no se cambian. Sólo la transformación "5 Meses de carga" se le asigna la Metrik.

La fórmula de la Metrik es el siguiente:

ApplyAgg ( "max (IIF ((# 0 = 0 y # 1> 100), 'X', 'O')) y max (IIF ((# 0 = 1 y # 1> 100), 'X', ' O ')) y max (IIF ((# 0 = 2 y # 1> 100),' X ',' O ')) y max (IIF ((# 0 = 3 # 1> 100),' X ', 'O')) y max (IIF ((# 0 = 4 y # 1> 100), 'X', 'O'))"; [Meses CD] @ ID; [Unidades Vendidas])

Debido a la función ApplyAgg uno debe entrar en la lógica en la sintaxis VisualBasic (IIF para el examen y konditionale y para el Konkatenierung). Probablemente, sin embargo, también podría funcionar sin ApplyAgg función, con las funciones de MicroStrategy IF y Concat. De manera lógica debería generar MicroStrategy Sin embargo, en este caso una consulta muy similar.

Aquí hay captura de pantalla de un informe, que utiliza el bit de métrica-Ventas mapa> 100 en la carga de 5 meses:

Final Report

El artículo original en alemán se puede leer aquí.

Solución para no poder añadir tablas en Almacén de catálogo

Visitas de emisión: No se puede añadir tablas / a el esquema en el almacén de catálogo

Error: "Error al añadir la tabla (s) en el esquema. Esta clave ya está asociada a un elemento de esta colección '

Solución en MSTR 9:

1) Abrir el Arquitecto ",

2) Haga clic en la tabla <table <nombre

3) Añadir al proyecto

4) una vez que su añadido, Derecho mesa panel izquierdo y actualizar la estructura de

5) Guarde y cierre (se le pedirá actualización de esquema, por lo que hagan lo mismo

6) Ahora abre Catálogo Warehouse

7) se puede ver la tabla / vista añadido al esquema

Herramienta de seguimiento de objetos - con algunos cambios

Después de largo tiempo transcurrido desplazamiento "de objetos herramienta de seguimiento" con algunas actualizaciones.

1) La herramienta de prueba en el sistema donde se instala-Server (no tuvo la oportunidad de prueba sin I-Server)

2) Probado en XP, 2003, Vista, 7

3) Para las pruebas utilizando Tutorial, el identificador de objeto para algunos objetos pueden parece misma ... pero en realidad hay una diferencia entre cada número de identificación. No asuma que su repitiendo la misma identificación.

4) Cualquier sugerencias / comentarios son bienvenidos

Nota: Pronto, la herramienta se integra con otra herramienta también.

Descargue la herramienta aquí.

Nota: Esta aplicación se suministra "tal cual" y renuncia a toda garantía, expresa o implícita, con respecto a todos los temas previstos, incluidas las garantías de comerciabilidad, adecuación para un propósito particular, la precisión, integración de sistemas, título, calidad satisfactoria y no infracción. Yo no garantiza que el uso de los elementos prestados o cualquier porción del mismo será ininterrumpido o libre de errores, o que los elementos proporcionados o cualquier parte de éstos, será satisfacer cualquier necesidad o requerimiento de licencia.

Interesante tema de los metadatos

En MSTR 9, hay una nueva característica llamada multiorigen donde el usuario puede conectar múltiples instancia DB.

Se utilizó el mismo modelo y debido a la nueva licencia que se ven obligados a cambiar de nuevo a la instancia de PP único. Así que hemos señalado todos instancia PP a la conexión ODBC mismo (lógicamente su única conexión DB)

Número: A pesar de que todos instancia PP señalando ODBC mismo, MSTR considerar que, por ejemplo, PP múltiples. Así que cuando el usuario sin necesidad de registrarse a la licencia de multiorigen MSTR y tratar de ejecutar un informe, que arroja un error diciendo que "esto es requiere licencia de fuentes múltiples". Lo interesante es que las tablas para que el informe provienen de PP instancia única.

Solución: Es cuestión fundamental a ser durante SIT debido a los cambios de licencia de cliente de ... bla .... Bla.

Tomó poco riesgo de opción y también que la única solución ... Cambiar PP Instancia para todos los atributos en las tablas de metadatos. (Opción alternativa, editar y cambiar todos los atributos de la tabla apuntando a la instancia de PP único grupo de trabajo que es enorme - [400 atributos].

Hizo un análisis en las mesas de MD, relaciones, etc ... He cambiado el PP todos instancia de 32 bits de identificación a la instancia PP ID único de 32 bits (hay que tener mucho cuidado al eliminar las filas, el cambio de los valores de columna en el PP de metadatos.

Todavía estoy haciendo la documentación sobre la modificación de ejemplo PP en los metadatos directamente y junto con la planificación de la documentación y nueva herramienta para " 'buscar y reemplazar un objeto en cualquier definición".

Si alguien viene cruzar este tipo de cuestiones como 'Object ID no puede ser encontrado y también temas como SCANMD, MD doctor no puede resolver, tratará de ayudarle a solucionar el mismo.

Pronto se publicará el documento y herramienta para el mismo ... ...