SCRIPT LOGICS FOR DUMMIES
Enviado por monto2435 • 16 de Abril de 2018 • 4.958 Palabras (20 Páginas) • 368 Visitas
...
Vamos a descubrir las características más avanzadas para la determinación del alcance En este post.
1. Ámbito de aplicación usando propiedad de miembro
Encontramos cómo utilizar * XDIM_MEMBERSET última vez.
* XDIM_MEMBERSET es de alcance basado en la identificación de miembro.
¿Qué pasa si el usuario quiere miembros de alcance sobre la base de un valor de propiedad específico?
Por ejemplo, un usuario desea filtrar los miembros de dimensión Cuenta esos son de activo.
Para lograr esto, tenemos que utilizar la propiedad ACCTYPE que tiene el valor de tipo de cuenta.
AST es el valor de la cuenta de activos. (Nota: El valor se basa en la APSHELL de BPC.)
El comando es * XDIM_FILTER .
El uso es XDIM_FILTER * = [DimensionName] .Las propiedades ( "Nombre de la propiedad") = "Valor de la propiedad"
Así que el ejemplo anterior se puede escribir de la siguiente manera.
* XDIM_FILTER cuenta = [Cuenta] .properties (ACCTYPE = 'AST')
Digamos dimensión Cuenta con 3 miembros de la siguiente manera.
Identificación ACCTYPE
Extsales INC
EFECTIVO AST
IMPUESTOS EXP
NETINCOME INC
Entonces * XDIM_FILTER_ACCOUNT seleccionará único miembro EFECTIVO.
Asumamos Si ya utilizan múltiples * XDIM_MEMBERSET mando y a continuación es seleccionado a partir de los datos de las tablas de hechos.
* XDIM_MEMBERSET TIEMPO = 2011.JAN
* XDIM_MEMBERSET CATEGORÍA = PRESUPUESTO
EXTSALES, 2011.JAN, PRESUPUESTO, 9000
EFECTIVO, 2011.JAN, PRESUPUESTO, 3000
IMPUESTOS, 2011.JAN, PRESUPUESTO, 800
NETINCOME, 2011.JAN, PRESUPUESTO, 1500
Ahora bien, si se agrega * XDIM_FILTER contra dimensión CUENTA.
* XDIM_MEMBERSET TIEMPO = 2011.JAN
* XDIM_MEMBERSET CATEGORÍA = PRESUPUESTO * XDIM_FILTER cuenta = [Cuenta] .properties (ACCTYPE? = 'AST')
A continuación, sólo un registro se selecciona del resultado anterior porque el efectivo es el único miembro de la cuenta que tiene un valor de la propiedad ACCTYPE 'AST'.
EFECTIVO, 2011.JAN, PRESUPUESTO 3000
2. Ámbito de aplicación utilizando el valor miembro
Acabamos descubierto la manera de alcance de los datos fuente a partir de la propiedad.
Entonces alguien podría hacer esta pregunta.
"¿Podemos alcance basado en el valor?
Por ejemplo, podemos seleccionar todos los datos que un valor de la cuenta mayor que 100?
Por supuesto, podemos hacerlo.
El comando es * XDIM_GETMEMBERSET . A diferencia de otros comandos,
que necesita * comando ENDXDIM para especificar datos.
Esta es la gramática de XDIM_GETMEMBERSET y un ejemplo.
* XDIM_GETMEMBERSET {dimensión} [= {} conjunto de miembros]
[* APP = {aplicación}] // opcional
[* XDIM_MEMBERSET {dimensión} [= {conjunto de miembros}] // ya que muchos de estos como sea necesario
[* QUERY_TYPE = 0 | 1 | 2] // opcionales
CRITERIOS * {} // expresión requerida
* ENDXDIM
* XDIM_GETMEMBERSET P_CC = [P_CC]. [H1]. [AAPJ] .children
* APP = PLANIFICACIÓN
* XDIM_MEMBERSET P_DataSrc = ENTRADA
* CRITERIOS [P_ACCT]. [H1]. [CE0001000]> 1000
* ENDXDIM
Se obtendrá los datos de los que son ..
a. Niños miembro del AAPJ en la dimensión P_CC. Y
b. de la aplicación PLANIFICACIÓN Y
c. Miembro de entrada de la dimensión Y P_Datasrc
d. El valor del miembro de CE0001000 de la dimensión P_ACCT debe ser mayor que 100 000
Asumamos tabla de hechos tiene debajo de los registros.
CE0001000, 2011.JAN, REAL, DE ENTRADA, Corea, 2500
CE0002000, 2011.JAN, REAL, DE ENTRADA, CHINA, 5000
CE0001000, 2011.JAN, REAL, ADJ, CHINA, 3000
CE0002000, 2011.JAN, REAL, DE ENTRADA, JAPÓN 1999
CE0003000, 2011.JAN, REAL, DE ENTRADA, JAPÓN, 2222
CE0001000, 2011.FEB, PRESUPUESTO, ADJ, Corea, 345
CE0001000, 2011.FEB, PRESUPUESTO DE ENTRADA, TURQUÍA 1999
CE0003000, 2011.JAN, REAL, DE ENTRADA , Turquía, 1100
CE0001000, 2011.FEB, PRESUPUESTO DE ENTRADA, CHINA, 1050
CE0001000, 2011.FEB, PRESUPUESTO DE ENTRADA, JAPÓN, 450
Los registros que serán seleccionados?
La respuesta es
CE0001000, 2011.JAN, REAL, DE ENTRADA, Corea, 2500
CE0001000, 2011.FEB, PRESUPUESTO DE ENTRADA, CHINA, 1050
A continuación los registros no serán seleccionados a pesar de que es P_ACCT CE0001000
porque su valor es inferior
...