Trabajar en el editor de scripts de SAP Analytics Cloud

Objective

After completing this lesson, you will be able to acceder y realizar tareas básicas en el editor de scripts en modo avanzado.

Introducción al editor de scripts

Lenguaje de scripting

SAP Analytics Cloud utiliza un subconjunto de JavaScript para ampliar las historias mediante scripting.

¿Por qué se utiliza JavaScript?

  • Se puede ejecutar en el navegador y el servidor
  • Es relativamente fácil de aprender
  • Es lo suficientemente potente

¿Por qué SAP Analytics Cloud utiliza un subconjunto de JavaScript?

  • JavaScript completo es bastante complejo
  • JavaScript no ofrece soporte de tipo
  • Algunas construcciones en JavaScript pueden ser peligrosas (por ejemplo, bucles sin fin)
  • SAP Analytics Cloud puede validar todos los scripts

¿En qué se diferencia el scripting en SAP Analytics Cloud del uso de JavaScript en general?

  • El script debe ser de escritura estricta
  • No se ofrece el casting de tipo automático

Debido a las capacidades de compleción de código enriquecido disponibles en SAP Analytics Cloud, el subconjunto JavaScript debe estar muy tipificado. Si desea utilizar un entero como cadena, debe lanzarlo explícitamente. Lo que esto significa es que, una vez que tienes un pato, sigue siendo un pato. Una consecuencia de una fuerte tipificación es que no se pueden esperar conversiones automáticas. Con una escritura fuerte, no puede reciclar los nombres de variables como nuevos tipos. Por lo tanto, si desea algo más, necesita otra variable.

En general, el uso de JavaScript ofrece una tipificación débil y una tipificación dinámica:

  • Con una tipificación débil, el guionista puede implícitamente coercer variables para actuar como diferentes tipos. Por ejemplo, puede tener un valor entero y tratarlo como si fuera una cadena: "Querido entero, eres una cadena". Para obtener más información sobre la tipificación débil, puede ir a Conceptos básicos de código
  • Con la tipificación dinámica, el tiempo de ejecución intenta adivinar el tipo del contexto en ese momento. Incluso puede modificar el tipo después de que la variable ya esté en uso. Por ejemplo, puede cambiar el valor del entero mencionado anteriormente a otro tipo de objeto: "Querido entero, ahora es un pato".

Aunque SAP Analytics Cloud utiliza como subconjunto de JavaScript como su lenguaje de scripting, sigue siendo JavaScript. Puede escribir JavaScript válido mientras trata el idioma como si se escribiera fuerte y estáticamente.

Sabiendo que algunas funciones JavaScript más avanzadas están desactivadas en SAP Analytics Cloud, al ser un verdadero subconjunto JavaScript aún permite la ejecución nativa en un navegador. Los scripts utilizados en el subconjunto de JavaScript de SAP Analytics Cloud están vinculados a eventos u objetos de script globales y se ejecutan y validan con el "modo estricto".

Para obtener más información sobre el modo estricto, puede ir a: Modo estricto - JavaScript

Tipos de datos en SAP Analytics Cloud

Todos los lenguajes de programación tienen el concepto de tipos de datos.

En SAP Analytics Cloud, tenemos:

  1. Tipos de datos primitivos (como en JavaScript)
    • Entero: 2, 8, 6+4
    • Cadena: "Hello", "I’m" + "here"
    • Booleano: verdadero, falso, verdadero && falso, "a" == "a", 1 !=2
  2. Tipos de datos específicos de BI:
    • Widget
    • Dimensión
    • Miembro
    • Filtro, etc.

No hay ningún casting de tipo automático.

El editor de scripts

El editor de scripts de SAP Analytics Cloud le permite escribir scripts para cada widget, creando historias interactivas y altamente personalizadas.

El scripting ofrece varias opciones para escribir código para ampliar una historia en SAP Analytics Cloud. Por ejemplo, puede:

  • Coloque un widget Botón en la historia y asigne un script al evento onClick del botón.
  • Asigne un script a un gráfico mediante su evento onSelect,
  • Escribir scripts basados en otros eventos del sistema, como el evento onInitialization de la historia, o
  • Añada scripts que se ejecuten cada vez que se modifiquen datos mediante onResultChanged.
Editor de scripts abierto para Button_2018.

La finalización de código y la funcionalidad de ayuda para entradas en SAP Analytics Cloud permiten:

  • Completar el código en el sentido tradicional, como completar identificadores locales o globales
  • Completar el código semántico sugiriendo funciones de miembro o similares
  • Ayuda para entradas en forma de propuestas de valores sensibles al contexto, como medidas de una fuente de datos para parámetros de función

Por ejemplo, al llamar un método API en una consulta de SAP Business Warehouse, la compleción de código puede proponer medidas como opciones de compleción de código o valores para especificar un filtro.

Para abrir la finalización de código en el editor de scripts, utilice el acceso directo del teclado Crtl + Espacio.

Finalización de código en el editor de scripts de SAP Analytics Cloud. Recuerde que el acceso directo más importante en el teclado es Crtl + Espacio.

Vea este breve vídeo para obtener más información sobre el editor de scripts, la verificación automática de sintaxis, la finalización de código y la ayuda para entradas.

Tipos de comentario

Ejemplos de comentarios de línea individual de varias líneas. A continuación se proporcionan ejemplos de ambos tipos de comentarios.

Puede ampliar su script con comentarios. Los comentarios le ayudan a usted o a otras personas a crear documentación sobre el script o partes individuales del script. La sintaxis de JavaScript ofrece los siguientes dos tipos de comentarios:

  1. Comentarios de una sola línea
  2. Comentarios de varias líneas

Los comentarios de una sola línea empiezan por//.

Cualquier texto entre // y el final de la línea de código se interpreta como un comentario y no se ejecuta como un comando. Puede utilizarla para generar una línea completa como comentario, pero también puede añadirla a una línea de código existente.

Por ejemplo:

var counter = 1; // declare counter and assign value 1

o bien

var counter = 1;

// declare counter and assign value 1

Los comentarios de varias líneas empiezan por/*y terminan por*/.

El texto entre /* y */ se interpreta como un comentario y no se ejecuta como un comando.

Por ejemplo:

var counter = 1;

/* declare counter and

assign value 1 */

Tipos de declaración

Diagrama con tipos de sentencia en la parte superior con flechas que conducen a cada una de las casillas de abajo. De izquierda a derecha: sentencias de llamada, sentencias de ejecución condicional, loops y sentencias de asignación. En la tabla siguiente se proporcionan ejemplos de cada una de las cajas inferiores.
Declaraciones de llamadaSentencias de ejecución condicionalesBuclesDeclaraciones de asignación
Por ejemplo, modifique el tipo de gráfico de un gráfico o defina un filtro para una dimensiónIF xxx THEN xxx ELSEPARA...Defina una variable nueva o asigne un valor a una variable existente.
Sintaxis básica: <Widget>.<Method>(<Arguments>);CASO DE INTERCAMBIODURANTE...var <variable> = <expression>;
Para/IN...o bien

<variable> = <expression>;

SAP Analytics Cloud puede utilizar API suministradas y opciones comunes de JavaScript para diferentes tipos de sentencia. Estos tipos de declaración se tratan con más detalle en las siguientes lecciones de este curso.