Puede utilizar las expresiones de ArcGIS Arcade para obtener un formato avanzado de los elementos de lista, indicador y tabla para personalizar la forma en que se representan sus puntos de datos. Un punto de datos puede representar una entidad o estadística de resumen en función de cómo se configure el elemento. Al utilizar entidades, un solo punto de datos representa una sola entidad. Cuando se utiliza una estadística, cada punto de datos representa el resultado de esa estadística. El elemento de lista representa los puntos de datos de entidad como elementos de línea, donde cada línea representa un punto de datos. El elemento indicador representa un punto de datos a la vez. El elemento de tabla representa los puntos de datos de entidad como filas, con la capacidad de controlar el contenido y formatear cada celda en la fila.
A diferencia de las expresiones de atributos (utilizadas en el elemento emergente, los estilos y las etiquetas de una capa), se crea una sola expresión para cada elemento. La expresión se ejecuta para cada punto de datos y devuelve propiedades definidas por el sistema y definidas por el usuario para ese elemento. Las propiedades definidas por el sistema son los ajustes que se configurarían en un elemento, como el color de texto y de fondo. Las propiedades definidas por el usuario las define el usuario en la expresión y se puede hacer referencia a ellas al configurar el elemento.
Nota:
Las expresiones de atributos creadas en mapas web no se trasladan para su uso en elementos de cuadro de mando.
La siguiente tabla resume los datos de una capa que se transferirán a la expresión:
| Nombre de la variable | Tipo | Descripción |
|---|---|---|
$datapoint | Entidad o diccionario | Se aplica al indicador, la tabla y la lista |
$reference | Diccionario | Se aplica al indicador |
Nota:
Tenga en cuenta lo siguiente al escribir expresiones de Arcade:- Incluya una coma después de cada propiedad en un diccionario, excepto la última propiedad.
- Los nombres de atributos no pueden contener espacios ni caracteres especiales.
Formatear listas
Para el elemento de lista, puede utilizar expresiones de Arcade habilitando la opción Formato avanzado. Una vez que elige utilizar el formato avanzado, las entradas de color dejan de estar disponibles, junto con cualquier otra propiedad definida por el sistema.
La expresión, que se ejecuta para cada elemento de línea, se utiliza para definir cómo se representa cada línea de la lista. Además, se puede usar una expresión para crear atributos a los que se puede hacer referencia en el valor Plantilla.
Se puede hacer referencia a los atributos del punto de datos mediante la variable global $datapoint en el editor de Arcade. En la siguiente tabla se proporciona la lista de propiedades que se pueden devolver de la expresión en forma de diccionario:
| Propiedad | Tipo de valor | Descripción |
|---|---|---|
textColor | Cadena de caracteres | Color de texto base del elemento de línea |
backgroundColor | Cadena de caracteres | Color de fondo del elemento de línea |
separatorColor | Cadena de caracteres | Color de borde inferior del elemento de línea |
selectionTextColor | Cadena de caracteres | Color utilizado para el texto del elemento de línea cuando se selecciona el elemento |
selectionColor | Cadena de caracteres | Color de texto base utilizado cuando se selecciona el elemento |
atributos | Diccionario | Un diccionario de pares de atributo-valor |
yourAttributeName | Cadena de caracteres | Atributo al que se puede hacer referencia en el valor Plantilla utilizando la sintaxis {expression/yourAttributeName}. |
Nota:
Las funciones de geometría no son compatibles.
Por ejemplo, si desea que el color de fondo de la lista cambie al rojo cuando el valor esté por encima de un determinado umbral, puede crear la siguiente variable:
var color = IIF($datapoint.fieldName>[threshold], '#F3DED7','')
En esta variable, fieldName es el campo para los valores y [threshold] es el valor al que desea cambiar el color de fondo. La variable se puede utilizar como un valor de propiedad, como en el siguiente ejemplo:
backgroundColor: color,
Utilizar esta variable en la propiedad de color de fondo le da la siguiente expresión donde el color de fondo del elemento de lista cambiará a rojo cuando el valor de la velocidad sea superior a 40:
var color = IIF($datapoint.Speed > 40, '#F3DED7', '');
return {
backgroundColor: color
}Habilitar el formato avanzado en una lista
Para habilitar el formato avanzado en un elemento de lista, realice los siguientes pasos:
- En la ventana de configuración de la lista, haga clic en la pestaña Lista.
- En la sección Formato avanzado, haga clic en Habilitar.
Nota:
Una vez que se habilita el formato avanzado, los ajustes definidos por el usuario, como por ejemplo las entradas de color, dejan de estar disponibles. Estas configuraciones se realizan en la expresión. Si introdujo valores antes de habilitar el formato avanzado, se agregan automáticamente a la expresión. - Cree la expresión de formato en el editor.
Sugerencia:
Para los campos de fecha, utilice la función Text para convertirlos en cadenas de caracteres, y se mostrarán en la zona horaria del cuadro de mando. La función Texto también le permite formatear los valores según sus preferencias. Si necesita ayuda con alguna de las funciones de Arcade, haga clic en el botón Información que hay junto a la función para ver más detalles. - Introduzca los atributos nuevos en el campo Plantilla con la sintaxis {expression/yourAttributeName}.
Formatear indicadores
Para el elemento de indicador, puede utilizar expresiones de Arcade habilitando la opción Formato avanzado. Una vez que elige habilitar el formato avanzado, dejan de estar disponibles las propiedades definidas por el sistema, como las opciones de color y el formato de valores, y el formato condicional se desactiva. La expresión se utiliza para definir estas propiedades de representación en pantalla y la lógica condicional. Además, una expresión puede suministrar los atributos definidos por el usuario a los que se hará referencia en los campos Título, Título superior y Título inferior en la pestaña General.
Cuando se incluye un valor de referencia en un indicador, en la pestaña Datos solo hay disponible un tipo de referencia basado en estadísticas una vez que se ha habilitado el formato avanzado. Si definió previamente un tipo de referencia de valor fijo, se agrega automáticamente a la expresión, junto con cualquier factor de conversión, texto y formato de color. El formato de valor realizado antes de habilitar el formato avanzado se elimina y se debe definir en la expresión utilizando patrones de valor.
Nota:
Un valor anterior no se admite en Arcade. Si definió un tipo de referencia de valor anterior antes de habilitar el formato avanzado, se convertirá al valor actual.
Se puede hacer referencia a los atributos del punto de datos mediante la variable global $datapoint en el editor de Arcade. Dependiendo de si el tipo de valor es Entidad o Estadística, $datapoint es del tipo entidad o diccionario, respectivamente. Si se ha configurado una estadística de referencia en la pestaña Datos, la variable global $reference también estará disponible en el editor.
En la siguiente tabla se proporciona la lista de propiedades que se pueden devolver de la expresión en forma de diccionario:
| Propiedad | Tipo de valor | Descripción |
|---|---|---|
textColor | Cadena de caracteres | Color de texto base del elemento de indicador |
backgroundColor | Cadena de caracteres | Color de fondo del elemento de indicador |
topText | Cadena de caracteres | Se muestra como el texto superior |
topTextColor | Cadena de caracteres | Color del texto superior |
topTextOutlineColor | Cadena de caracteres | Color del contorno del texto superior |
topTextWeight | Cadena de caracteres | Muestra el peso del texto superior como normal o negrita |
topTextMaxHeight | Número | Altura del texto superior |
middleText | Cadena de caracteres | Se muestra como el texto central |
middleTextColor | Cadena de caracteres | Color del texto central |
middleTextOutlineColor | Cadena de caracteres | Color del contorno del texto central |
middleTextWeight | Cadena de caracteres | Muestra el peso del texto central como normal o negrita |
middleTextMaxHeight | Número | Altura del texto central |
bottomText | Cadena de caracteres | Se muestra como el texto inferior |
bottomTextColor | Cadena de caracteres | Color del texto inferior |
bottomTextOutlineColor | Cadena de caracteres | Color del contorno del texto inferior |
bottomTextWeight | Cadena de caracteres | Muestra el peso del texto inferior como normal o negrita |
bottomTextMaxHeight | Número | Altura del texto inferior |
iconName | Cadena de caracteres | Nombre del icono definido para el indicador Nota:Los nombres de los iconos se definen fuera de la expresión. |
iconAlign | Cadena de caracteres | Ubicación del icono adyacente al texto central (izquierda | derecha) |
iconColor | Cadena de caracteres | Color de relleno del icono |
iconOutlineColor | Cadena de caracteres | Color de contorno del icono |
noValue | Booleano | Marque para mostrar el texto Sin valor en lugar del indicador (true | false) |
atributos | Diccionario | Un diccionario de pares de atributo-valor |
yourAttributeName | Cadena de caracteres | Atributo al que se puede hacer referencia en los campos Título, Título superior y Título inferior utilizando la sintaxis {expression/yourAttributeName} |
Nota:
Los valores de TextMaxHeight son porcentajes. Las secciones superior, central e inferior no deben superar un total combinado del 100 por ciento. Si lo hacen, el tiempo de ejecución los redimensiona automáticamente para ajustarse al 100 por ciento.
Por ejemplo, si tiene un indicador que muestra un valor en una unidad de medición, pero también desea mostrar el mismo valor en otra unidad a continuación, puede crear una variable para convertir los valores existentes. Con un indicador que muestra la temperatura media en Centígrados, puede crear una variable Fahrenheit para utilizarla en la expresión y mostrar también los valores en Fahrenheit de la siguiente forma:
var fahrenheit = Floor(($datapoint.avg_Temperature/5*9)+32)
A continuación, puede incluir la variable como un valor de propiedad, como el siguiente:
bottomText: fahrenheit,
Utilizar esta variable en la propiedad de texto inferior le proporciona la siguiente expresión donde la temperatura media (en Centígrados) se muestra en el texto central del indicador y el valor Fahrenheit se muestra en el texto inferior:
var fahrenheit = Floor(($datapoint.avg_Temperature/5*9)+32)
return {
topText: 'Average Temperature',
middleText: Floor($datapoint.avg_Temperature),
bottomText: fahrenheit,
}Habilitar el formato avanzado en un indicador
Para habilitar el formato avanzado en un elemento indicador, realice los siguientes pasos:
- En la ventana de configuración del indicador, haga clic en la pestaña Indicador.
- En la sección Formato avanzado, haga clic en Habilitar.
Nota:
Una vez que se habilita el formato avanzado, los ajustes definidos por el usuario, como por ejemplo las entradas de color, dejan de estar disponibles. Estas configuraciones se realizan en la expresión. Si introdujo valores antes de habilitar el formato avanzado, se agregan automáticamente a la expresión. - Cree la expresión de formato en el editor.
Sugerencia:
Si necesita ayuda con alguna de las funciones de Arcade, haga clic en el botón Información que hay junto a la función para ver más detalles. - De manera opcional, haga referencia a cualquier atributo nuevo en los campos Título, Título superior y Título inferior con la sintaxis {expression/yourAttributeName}.
Formatear tablas
Para el elemento de tabla, puede utilizar una expresión de Arcade habilitando la opción Formato avanzado. Una vez que elige utilizar el formato avanzado, las entradas de color, las opciones de alineación de texto y otras propiedades definidas por el sistema dejan de estar disponibles y, en su lugar, se definen en la expresión.
La expresión, que se ejecuta para cada fila de la tabla, se utiliza para definir el contenido y el formato de cada celda de la columna. Se puede hacer referencia a los atributos del punto de datos mediante la variable global $datapoint en el editor de Arcade.
El diccionario cells debe tener una propiedad para cada campo definido en la pestaña Datos de la configuración de la tabla. Por ejemplo, en una tabla de valores agrupados que tiene un campo de categoría para Zona y un campo de valor de Cantidades de transacción, el diccionario cells contiene dos propiedades: zone y sum_transaction_amounts.
En la siguiente tabla se enumeran las propiedades que se pueden devolver de la expresión en forma de diccionario:
| Propiedad | Tipo de valor | Descripción |
|---|---|---|
celdas | Diccionario | Un diccionario de nombres de columnas basado en campos definidos en la pestaña Datos |
displayText | Cadena de caracteres | Texto visualizado en la celda Nota:La propiedad displayText es obligatoria. |
hoverText | Cadena de caracteres | El texto que aparece al desplazar el puntero por encima de los valores. Nota:La activación de texto se debe habilitar primero en la pestaña Tabla. |
textColor | Cadena de caracteres | Color del texto de la celda |
backgroundColor | Cadena de caracteres | Color de fondo de la celda |
textAlign | Cadena de caracteres | Alineación (izquierda | centro | derecha) |
iconName | Cadena de caracteres | Nombre del icono definido para la tabla Nota:Los nombres de los iconos se definen fuera de la expresión. |
iconAlign | Cadena de caracteres | Ubicación del icono adyacente al texto de la celda (izquierda | derecha) |
iconColor | Cadena de caracteres | Color de relleno del icono |
iconOutlineColor | Cadena de caracteres | Color de contorno del icono |
También puede utilizar el formato avanzado para crear formato condicional para una tabla. Por ejemplo, si tiene una tabla que muestra solicitudes de reparación recientes, puede aplicar formato condicional para distinguir el estado de las solicitudes. Puede crear una variable que cambie el color de la celda en función del estado utilizando una variable como por ejemplo la siguiente:
var statusColor = When($datapoint.status== 'new', 'yellow', $datapoint.status== 'closed', 'lightgray', 'white')
A continuación, puede asignar la variable a la propiedad backgroundColor para que las celdas se resalten para los nuevos incidentes y dejen de mostrarse resaltadas para incidentes cerrados, de la siguiente forma:
var statusColor = When(
$datapoint.status == 'new', 'yellow',
$datapoint.status == 'closed', lightgray', 'white')
return {
cells:{
requests:{
displayText: <span>${$datapoint.requests}</span>,
backgroundColor: statusColor,
}
}
}Nota:
Las expresiones no se aplican a la fila de resumen de una tabla.
Habilitar el formato avanzado en una tabla
Para habilitar el formato avanzado en un elemento de tabla, realice los siguientes pasos:
- En la ventana de configuración de la tabla, haga clic en la pestaña Valores.
- En la sección Formato avanzado, haga clic en Habilitar.
Nota:
Una vez que se habilita el formato avanzado, los ajustes definidos por el usuario, como por ejemplo las entradas de color, dejan de estar disponibles. Estas configuraciones se realizan en la expresión. Si introdujo valores antes de habilitar el formato avanzado, se agregan automáticamente a la expresión. - Cree la expresión de formato en el editor.
Sugerencia:
Si necesita ayuda con alguna de las funciones de Arcade, haga clic en el botón Información que hay junto a la función para ver más detalles.
Definir nombres de iconos
Los elementos de indicador y tabla permiten incluir iconos de gráficos vectoriales escalables (SVG) en la configuración de un elemento. Cuando se utiliza formato avanzado, se agregan iconos en la expresión Arcade.
Para agregar un icono en una expresión Arcade, siga estos pasos:
- En la sección Iconos debajo del editor de Arcade, haga clic en Agregar.
- Elija un icono o cree un icono personalizado.
- Proporcione un nombre para el icono.
- En la expresión Arcade, devuelva el nombre del icono como el valor de la propiedad iconName.
Valores de color
Al incluir valores de color en una expresión, se deben devolver como cadenas de caracteres (entre comillas). Los valores de color que se dejan sin definir o que no son válidos utilizarán automáticamente los valores predeterminados. Entre los tipos de valor de color admitidos están los valores hexadecimales, RGB, RGBA, HSL y HSLA. A continuación, se muestran algunos ejemplos junto con las sintaxis admitidas:
- Hex
- #090
- #009900
- #090a
- #009900aa
- RGB y RGBA
- rgb(34, 12, 64)
- rgba(34, 12, 64, 0,6)
- HSL y HSLA
- hsl(50, 33%, 25%)
- hsla(50, 33%, 25%, 0,75)
Intervalo de actualización
Si desea que la expresión se ejecute a un intervalo específico, por ejemplo, si la expresión utiliza la función Now(), active el botón de alternancia Refrescar script y establezca un intervalo de actualización.