RIGHT / LEFT

English (Español a continuación)

These functions allow to extract a sub-string of “n” characters from a string:

  • Right: Extracts “n” characters starting counting from the right.
  • Left: Extracts “n” characters starting counting from the left.

The structures of these functions are:

  • Right(String, n)
  • Left(String, n)

“String”: String from which to extract a substring.

“n”: Number of characters to be extracted.

Let’s see an example: Suppose the following dimension «Product» to which we apply these functions:

These functions can be used in conjunction with other string handling functions.

  • Concat(“PDT”,Right(Products.CurrentMember.member_name,4))

Obtaining the following strings:

  • Concat(Left(Products.CurrentMember.member_name,3),”000A”)

Obtaining the following strings:

But for Essbase to identify those strings as the name of members of the outline these functions must be included inside the “StrToMbr” function:

  • StrToMbr(Concat(“PDT”,Right(Products.CurrentMember.member_name,4)))
  • StrToMbr(Concat(Left(Products.CurrentMember.member_name,3),”000A”))

You can use the “Right” / “Left” functions together to extract an intermediate substring from a string:

For example: if we want to extract the following substring:

  • PDT000A

We use the next function:

  • Left(Right(Products.CurrentMember.member_name,5),2)

These functions can be used within a conditional structure. Let’s see an example from the previous dimension «Product»:

We calculate the sales target for the year 2022 by including the following formula in the member “Obj_2022” (from the dynamic dimension “Years”):

  • Case
    • When IS (Product.CurrentMember, StrToMbr(Concat(Left(Products.CurrentMember.member_name,3),»000A»))) then 100
    • When IS (Product.CurrentMember, StrToMbr(Concat(Left(Products.CurrentMember.member_name,3),»000B»))) then 150
    • When IS (Product.CurrentMember, StrToMbr(Concat(Left(Products.CurrentMember.member_name,3),»000C»))) then 210
  • End

Obtaining the following result:

Any questions, please send an email to: essbaseeasy@gmail.com

Español

Estas funciones permiten extraer una subcadena de “n” caracteres de una cadena:

  • Right: Extrae “n” caracteres comenzando a contar por la derecha.
  • Left: Extrae “n” caracteres comenzando a contar por la izquierda.

Las estructuras de estas funciones son:

  • Right(Cadena, n)
  • Left(Cadena, n)

“Cadena”: Cadena de caracteres de la que se extrae una subcadena.

“n”: Número de caracteres que se extraen.

Veamos un ejemplo: Supongamos la siguiente dimensión “Producto” a la que aplicamos estas funciones:

Estas funciones se pueden utilizar conjuntamente con otras funciones de tratamiento de cadenas.

  • Concat(“PDT”,Right(Productos.CurrentMember.member_name,4))

Obteniendo las siguientes cadenas:

  • Concat(Left(Productos.CurrentMember.member_name,3),”000A”)

Obteniendo las siguientes cadenas:

Pero para que Essbase identifique esas cadenas como nombres de miembros del outline estas funciones deben incluirse dentro de la función “StrToMbr”:

  • StrToMbr(Concat(“PDT”,Right(Productos.CurrentMember.member_name,4)))
  • StrToMbr(Concat(Left(Productos.CurrentMember.member_name,3),”000A”))

Se pueden utilizar conjuntamente las funciones “Right” / “Left” para extraer una subcadena intermedia de una cadena:

Por ejemplo: si queremos extraer la siguiente subcadena:

  • PDT000A

Utilizamos la siguiente función:

  • Left(Right(Productos.CurrentMember.member_name,5),2)

Estas funciones se pueden utilizar dentro de una estructura condicional. Veamos un ejemplo a partir de la dimensión anterior “Producto”:

Calculamos el objetivo de ventas del año 2022 incluyendo la siguiente fórmula en el miembro “Obj_2022” (de la dimensión dinámica “Años”):

  • Case
    • When IS (Producto.CurrentMember, StrToMbr(Concat(Left(Productos.CurrentMember.member_name,3),”000A”))) then 100
    • When IS (Producto.CurrentMember, StrToMbr(Concat(Left(Productos.CurrentMember.member_name,3),”000B”))) then 150
    • When IS (Producto.CurrentMember, StrToMbr(Concat(Left(Productos.CurrentMember.member_name,3),”000C”))) then 210
  • End

Obteniendo el siguiente resultado:

Cualquier consulta envía, por favor, un correo a: essbaseeasy@gmail.com

Anuncio publicitario