Existen varios tipos de funciones Apply: ApplySimple, ApplyComparision, ApplyAgg, ApplyOlap y ApplyLogical.
-- En esta guía se explica mediante ejemplos el uso del ApplySimple --
Las funciones Apply permiten utilizar el símbolo # como parámetro auxiliar para identificar objetos. Siendo #0 el primer campo agregado a la función, #1 el segundo, etc.
Ejemplo:
ApplySimple(“#0 + #1”,Elemento1, Elemento2). Esto sumaria los elementos 1 y 2.
1.
EJEMPLOS EN ATRIBUTOS:
- Devuelve la cadena de texto del mes.
En este caso el valor obtenido en la
base es del tipo “201301” (año-mes). Mediante la siguiente función en
el atributo “MES” obtendremos el dato “Enero”.
el atributo “MES” obtendremos el dato “Enero”.
ApplySimple("to_char(to_date(#0,'yyyymm'),'Month','nls_date_language
= Spanish')", [ID_MES_ANALISIS])
|
Nota: El parámetro “language” es necesario cuando el
dato obtenido viene en inglés o cualquier otro idioma, caso contrario es
posible que mostrara January.
- Devuelve la cadena de texto del día de la semana.
Mediante esta función podemos obtener
la descripción del día de la semana
ApplySimple("to_char(to_date(#0),
'day', 'NLS_DATE_LANGUAGE = SPANISH' )", [ID_FECHA])
|
- Calcular la edad de una Persona.
Si bien es
recomendable calcular la EDAD de una persona mediante su Fecha de Nacimiento en
el ETL, también es posible realizar el cálculo a través de un ApplySimple en un
atributo.
Pasos a seguir:
- Crear un nuevo Atributo.
- Crear una nueva Representación.
- Insertar el siguiente Apply:
-
Guardar y Cerrar.
Este sería el query generado por MicroStrategy:
SELECT DISTINCT FLOOR (months_between(TRUNC(CURRENT_DATE)
a11.FEC_NACIMIENTO)/12)
EDAD from L_PERSONAS a11
|
2.
EJEMPLOS EN FILTROS:
Para realizar un filtro con
Applysimple debemos calificar sobre el “ID” o “DESC” correspondiente. Seteando
el parámetro “Personalizado”, tal como se muestran en la siguiente imagen
adjunta.
- Devuelve el valor del último mes.
Mediante la siguiente función podemos
filtrar un indicador por el último mes (id_mes_analisis) cargado en el ejemplo
en la “Fact_Mabs”.
ApplySimple("(select
max(ID_MES_ANALISIS) from fact_mabs)",0)
|
- Devuelve el valor del año y lo concatena con el valor numérico de un mes mostrado originalmente de forma descriptiva.
Ejemplo: Año Tabla = 2013. Mes Tabla =
Enero
ApplySimple(
"#0 || to_char(to_date(#1, 'month', 'NLS_DATE_LANGUAGE = SPANISH'
),'MM')", [ANO_TABLA], [MES_TABLA])
|
Resultado
del ejemplo: 201301
3.
EJEMPLOS EN INDICADORES:
- Compara cada mes con el último mes. si es verdadero, el indicador arroja el valor “1”. Caso contrario divide la cantidad de fechas entre “30”.
Para
realizar este tipo de cálculos podemos usar dos funciones: Case o If.
Este ejemplo puede aplicarse sin necesidad de un ApplySimple, tal como se muestra.
Case(([9.0 Mes de Mabs] < [9.5 Ult. Mes de Mabs]), Int(1),
([9.1 Cantidad de Fechas] / 30))
|
If(([9.0 Mes de Mabs] < [9.5 Ult. Mes de Mabs]), Int(1),
([9.1 Cantidad de Fechas] / 30))
|
- Realiza operaciones matemáticas simples.
El ApplySimple mostrado realiza el siguiente cálculo:
Descuento
* Coste – Unidades Vendidas – Unidades Vendidas – Unidades Vendidas
ApplySimple("#0*#1-#2-#3-#4", Descuento, Coste,
[Unidades vendidas])
|
En el
caso de agregar más parámetros que componentes, la herramienta toma el ultimo
agregado.
Es decir,
según el ejemplo, los parámetros #3 y #4 harían referencia a Unidades Vendidas.
Thanks for Information Microstrategy Online Training
ResponderEliminarNice post ! Thanks for sharing valuable information with us. Keep sharing..Microstrategy Online Training Hyderabad
ResponderEliminar