SCRIPT LOGICS FOR DUMMIES
MANCHITO2000Documentos de Investigación23 de Octubre de 2016
9.800 Palabras (40 Páginas)334 Visitas
SCRIPT LOGICS FOR DUMMIES
A pesar de que tengo una larga experiencia con BPC, si alguien me pide que escriba un script de una lógica, yo no podría escribir ese código dentro de 10 minutos.
No es un problema de mi conocimiento pero escribir una lógica secuencia de comandos tiene que entender sus necesidades financieras y el conocimiento de su aplicación como Identificación del miembro de la cuenta y el nombre de las propiedades.
Hay algunos documentos y archivos de ayuda sobre la lógica de la escritura y HTG pero los usuarios finales pueden sentir que no es fácil. Estoy de acuerdo con eso, pero si usted entiende su estructura y concepto, puedo garantizar que usted pueda leer y entender lo que significa y cuál es el propósito de que la lógica de la escritura es. Además de eso, es posible que se habilita para modificar o crearlo. Es la misma cosa que no es fácil de escribir un libro, pero la lectura de un libro es una historia diferente.
Vamos a aprender paso a paso.
1. Comprender 3 partes lógicas.
La lógica es un motor especial de la escritura y se compone de 3 partes. La determinación del alcance, cálculo (crear / Record) y escritura.
2. Alcance
BPC se basa en NW BI o MSAS que tiene una gran cantidad de datos. Por lo tanto, si no se especifica el alcance, que tomará mucho tiempo para leer los datos.
Digamos que es necesario calcular 2011.January, datos reales y sólo una cuenta como "ventas con descuento externos sea sobre la base de las ventas externas.
¿Cómo podemos ámbito esto desde una gran base de datos?
La respuesta es .... * XDIM_MEMBERSET
* XDIM_MEMBERSET está usando para datos de alcance por cada dimensión.
Esta es la gramática de XDIM_MEMBERSET.
* XDIM_MEMBERSET
. Ahora, let't alcance por encima de exampe
para la determinación del alcance 2011.January, * = XDIM_MEMBERSET TimeDim 2011.JAN
para la determinación del alcance real, * XDIM_MEMBERSET CATEGORYDIM = REAL
para la determinación del alcance de las ventas externas, * = XDIM_MEMBERSET ACCOUNTDIM EXTSALES
(Nota: tenemos que las ventas externas de ámbito porque las ventas externas reducidos se calcularán sobre la base de las ventas externas.)
3. Ahora, acabamos de terminar la determinación del alcance así que es hora de calcular (crear) los datos.
A diferencia de otro motor de secuencia de comandos, no hay una variable temporal en el motor de secuencias de la lógica por lo que creará un registro que tiene como estructura misma tabla de hechos.
Y va a sustituir o cambiar su valor uaing '* REC' comando. (Nota: * medios REC 'Record'.)
Esta es la gramática de la declaración * REC
* REC [([FACTOR |? EXPRESIÓN = {expresión} [, {} = {dim1 miembro}, {} = Dim2)]
Usando que la gramática, podemos hacer nuestra secuencia de comandos de la siguiente manera.
* REC (factor = 0,9, cuenta = "DISCOUNT_EXTSALES")
que significa multiplicar por 0,9 a ámbito actual de registros y sustituir miembro cuenta con DiSCOUNT_EXTSALES
Aquí está un ejemplo lo que sucede con la afirmación anterior.
EXTSALES, 2011.JAN, REAL, 10000
DISCOUNT_EXTSALES, 2011.JAN, REAL, 9000
¿Qué pasa si usted quiere poner los registros generados en PRESUPUESTO categoría?
Entonces debe ser comunicado
* REC (factor = 0,9, CUENTA = "DISCOUNT_EXTSALES", la categoría = " PRESUPUESTO ")
Ahora quiere poner en valor un 80% en PRONÓSTICO al mismo tiempo. ¿qué debemos hacer?
Podemos utilizar otra declaración * REC al mismo tiempo.
* REC (factor = 0,9, cuenta = "DISCOUNT_EXTSALES", la categoría = " PRESUPUESTO ")
* REC (factor = 0,8 , cuenta = "DISCOUNT_EXTSALES", la categoría = " PRONÓSTICO ")
EXTSALES, 2011.JAN, REAL, 10000
DISCOUNT_EXTSALES, 2011.JAN, PRESUPUESTO , 9000
DISCOUNT_EXTSALES, 2011.JAN, FORECAS , 8000
Cada vez más fácil? eso espero [pic 1]
Se le recuerda por debajo de la regla.
a. Cada instrucción REC genera uno nuevo registro.
b. Cada registro de origen puede generar tantos registros como se desee.
Esto significa que a cuyo ámbito 1 registro, pero se pueden crear varios registros utilizando esto.
la conversión de moneda es el mejor ejemplo porque se necesita múltiple
monedas convertidos utilizando un registro moneda local.
Por lo tanto, se puede imaginar que habrá múltiples * comunicado REC
en su moneda lógica script de conversión.
c. celda de destino puede ser el mismo. Todos los valores se acumularán.
* Declaración REC generará un nuevo registro de modo que no importa a pesar de que el destino es el mismo.
4. Como paso final, tenemos que escribir los datos en la base de datos.
sentencia de script es muy simple.
* COMMIT
Afortunadamente, no tiene ningún parámetro. Sólo tiene que utilizar * COMMIT.
Cuando el motor de la escritura BPC execute * COMMIT, los registros generados se publicará
a la mesa usando BPC motor de envío, que es el mismo motor que envíe
los datos del libro de Excel.
Se revisaron tres partes principales de la escritura lógica BPC como un primer paso.
Voy a explicar alcance avanzada, grabación y comprometerse comando en el siguiente post.
Expliqué básicos 3 partes de la lógica de la escritura en el último mensaje. Era de alcance, el cálculo y la escritura.
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 *
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')
...