Creación de gráficos de barras simples

Un gráfico de barras simple muestra datos en grupos de datos que se pueden representar en forma de barras con igual ancho y altura variable que se representa como magnitud de cantidad. Puede utilizar el gráfico de barras simple para visualizar la comparación de cantidades basada en la figura estadística.

Acerca de esta tarea

La anatomía de un gráfico de barras simple es la siguiente:
Un gráfico de barras simple muestra el valor de línea de pedido vencido por proveedor
Título de tarjeta
Etiqueta o cabecera exclusiva asignada a la tarjeta.
Ayuda contextual de tarjeta
Una ayuda contextual proporciona detalles adicionales sobre los datos que se muestran en la tarjeta.
Umbral
Una línea en el gráfico por encima o por debajo de la cual son valores significativos.
Título del eje Y
Etiqueta asignada al eje vertical del gráfico.
Título del eje X
Etiqueta asignada al eje horizontal del gráfico.
Leyenda
La etiqueta del grupo de datos.
Enlace de pie de página
Un campo o enlace que se puede pulsar con una etiqueta, por ejemplo, View all.

Puede utilizar el Creador de tarjetas para crear un gráfico de barras simple.

Procedimiento

  1. En el menú de navegación, pulse Creador de tarjetas.
  2. Pulse Nueva tarjeta.

En la pestaña General , defina la tarjeta:

  1. Asigne un nombre a la tarjeta.

    Se hace referencia a la tarjeta por su nombre en la biblioteca de tarjetas.

  2. Seleccione el tipo de tarjeta.

    Seleccione Chart como tipo de tarjeta y Simple bar como variante.

En la pestaña Datos , añada datos a la tarjeta:

  1. Añada una consulta GraphQL para recuperar los datos.
    Pulse Añadir y escriba una consulta similar a la consulta en el ejemplo. Para obtener más información, consulte Adición de consultas a tarjetas.
  2. Defina las variables que esté utilizando en la consulta.
    En el campo QUERY VARIABLES , defina las variables en formato JSON utilizando un formato similar al ejemplo.
  3. Ejecute la consulta.
  4. Verifique que se devuelvan datos para la consulta, de forma similar a los datos que se devuelven en el ejemplo.
  5. En la pestaña Transformar , añada código para transformar los datos para la visualización en un gráfico de barras simple.
    Utilice un código similar al del ejemplo o utilice la transformación predeterminada.
  6. Pulse Terminado.
    Los datos devueltos por la consulta se muestran en el gráfico.
  7. Configure los grupos de datos para el diagrama de barras simple.
    En el ejemplo, el grupo de datos, McGrey Electrical, está disponible. Seleccione los grupos de datos que se mostrarán como una barra en el gráfico.
  8. Opcional: Sustituya la etiqueta y el color.

En el separador Estilo , defina el estilo de la tarjeta:

  1. En Dimensiones, aumente el ancho y la altura de la tarjeta.
  2. En Cabecera, añada un título de tarjeta y active la ayuda contextual de la descripción.
  3. En Ejes, establezca la escala del eje X y la etiqueta que se utiliza. Puede establecer un umbral para el eje X.
  4. En Ejes, establezca la escala del eje Y y la etiqueta que se utiliza. Puede establecer un umbral para el eje Y.
  5. En Leyenda, active la leyenda y establezca su posición en la interfaz de usuario.
  6. En Comportamiento, configure el comportamiento de la interacción con la leyenda y la ayuda contextual.
  7. Expanda Pie de página y establezca Enlace de pie de página en activado y asigne una etiqueta y especifique un ID de página.

    Puede añadir un ID de página en el campo o puede seleccionar una página de la biblioteca. Para seleccionar una página, pulse Seleccionar de libaray. De forma alternativa, puede añadir un enlace externo al pie de página. Cuando se pulsa, este enlace se abre en una pestaña nueva.

    Nota: Algunas páginas están marcadas conThis page requires context.aviso. Esto significa que estas páginas requieren variables de contexto para representar el contenido correctamente en la página y que estas variables faltan en el contexto de la página. Para añadir variables de contexto de página, consulte Configuración de variables de contexto de página.

    Después de seleccionar la página, puede añadir variables de plantilla para que el contenido de la página sea dinámico. Esto significa que puede utilizar la misma página varias veces con contenido personalizado de acuerdo con las variables.

  8. Pulse Guardar.

Ejemplo

La consulta siguiente recupera datos del servicio de objetos de negocio y devuelve una lista de líneas de orden vencida pasadas agrupadas por proveedor. La consulta toma un ID de arrendatario como parámetro de entrada y permite filtrar por ubicación, categoría y proveedor. La consulta también incluye un parámetro de agregación que agrupa las líneas de pedido por proveedor y suma el valor total de las líneas de pedido. La consulta devuelve los cinco principales proveedores con el valor total más alto de líneas de pedido vencidas.

query pastDueOrderlineBySupplier($tenantId: String!, $locationFilter: BooleanExp = {CONSTANT_VALUE: true}, $categoryFilter: BooleanExp = {CONSTANT_VALUE: true}, $supplierFilter: BooleanExp = {CONSTANT_VALUE: true}) {
  pastDueOrderLineBySupplierChar: businessObjects(
    simpleFilter: {type: OrderLine, tenantId: $tenantId}
    hint: {viewId: "graph"}
    advancedFilter: {AND: [{GREATER_THAN: [{SELECT: "order.plannedDeliveryDelay", type: FLOAT}, {VALUE: "0.0", type: FLOAT}]}, {EQUALS: [{SELECT: "order.orderType", type: STRING}, {VALUE: "INBOUND", type: STRING}]}, $locationFilter, $categoryFilter, $supplierFilter]}
    aggregationParams: {paginationParams: {first: 5, sort: [{fieldPath: "totalOrderLinesBySupplier.sum", order: DESC}]}, dimension: {fieldPath: "order.vendor.name", type: STRING}, reduce: {expression: {fieldPath: "value", operator: SUM, type: INT}, output: {resultAlias: "totalOrderLinesBySupplier", type: INT}}}
  ) {
    totalCount
    aggregationResults {
      dimensionValues {
        name
        value
      }
      values {
        name
        numValue
      }
    }
    edges {
      cursor
      object {
        ... on OrderLine {
          valueCurrency
        }
      }
    }
  }
}
El código siguiente es un ejemplo de cómo definir las variables que se van a utilizar en la consulta.
{
  "tenantId": "{{ tenantId }}"
}
En el ejemplo siguiente, el proveedor devuelve el valor de línea de orden vencida.
{
	"data": {
		"pastDueOrderLineBySupplierChar": {
			"totalCount": 19,
			"aggregationResults": [
				{
					"dimensionValues": [
						{
							"name": "order.vendor.name",
							"value": "McGrey Electrical",
							"__typename": "NameValuePair"
						}
					],
					"values": [
						{
							"name": "totalOrderLinesBySupplier",
							"numValue": 604160,
							"__typename": "NameValueNumValuePair"
						}
					],
					"__typename": "AggregationResult"
				},
				{
					"dimensionValues": [
						{
							"name": "order.vendor.name",
							"value": "Total Source Extrusion Corporation",
							"__typename": "NameValuePair"
						}
					],
					"values": [
						{
							"name": "totalOrderLinesBySupplier",
							"numValue": 226800,
							"__typename": "NameValueNumValuePair"
						}
					],
					"__typename": "AggregationResult"
				},
				{
					"dimensionValues": [
						{
							"name": "order.vendor.name",
							"value": "F & M Metals",
							"__typename": "NameValuePair"
						}
					],
					"values": [
						{
							"name": "totalOrderLinesBySupplier",
							"numValue": 125900,
							"__typename": "NameValueNumValuePair"
						}
					],
					"__typename": "AggregationResult"
				},
				{
					"dimensionValues": [
						{
							"name": "order.vendor.name",
							"value": "LightLens Industries",
							"__typename": "NameValuePair"
						}
					],
					"values": [
						{
							"name": "totalOrderLinesBySupplier",
							"numValue": 107920,
							"__typename": "NameValueNumValuePair"
						}
					],
					"__typename": "AggregationResult"
				},
				{
					"dimensionValues": [
						{
							"name": "order.vendor.name",
							"value": "Alumi-lux Metal Products",
							"__typename": "NameValuePair"
						}
					],
					"values": [
						{
							"name": "totalOrderLinesBySupplier",
							"numValue": 59605,
							"__typename": "NameValueNumValuePair"
						}
					],
					"__typename": "AggregationResult"
				}
			],
			"edges": [
				{
					"cursor": "NTQ1NDE2NA==",
					"object": {
						"valueCurrency": "USD",
						"__typename": "OrderLine"
					},
					"__typename": "BusinessObjectEdge"
				},
				{
					"cursor": "NTQ1NjQ5OA==",
					"object": {
						"valueCurrency": "USD",
						"__typename": "OrderLine"
					},
					"__typename": "BusinessObjectEdge"
				},
				{
					"cursor": "NTQ1NjQ3MQ==",
					"object": {
						"valueCurrency": "USD",
						"__typename": "OrderLine"
					},
					"__typename": "BusinessObjectEdge"
				},
				{
					"cursor": "NTQ1NTc3MQ==",
					"object": {
						"valueCurrency": "USD",
						"__typename": "OrderLine"
					},
					"__typename": "BusinessObjectEdge"
				},
				{
					"cursor": "NTQ1NDIzOQ==",
					"object": {
						"valueCurrency": "USD",
						"__typename": "OrderLine"
					},
					"__typename": "BusinessObjectEdge"
				}
			],
			"__typename": "BusinessObjectsCursor"
		}
	},
	"loading": false,
	"networkStatus": 7
}

El código siguiente es un ejemplo de cómo crear una transformación para la tarjeta.


{
	"totalCount": "{{ this.data.pastDueOrderLineBySupplierChar.totalCount }}",
	"errors": "{{#? this.errors}}",
	"pageInfo": "{}",
	"currency": [
		{
			"{{#if this.data.pastDueOrderLineBySupplierChar.edges.length > 0}}": "{{this.data.pastDueOrderLineBySupplierChar.edges[0].object.valueCurrency}}"
		},
		{
			"{{#else}}": ""
		}
	],
	"results": {
		"{{#each this.data.pastDueOrderLineBySupplierChar.aggregationResults}}": {
			"group": "{{dimensionValues[0].value}}",
			"value": "{{values[0].numValue}}"
		}
	}
}

En una transformación, los datos que se muestran en cada eje del gráfico deben coincidir con los datos devueltos por la consulta. Este atributo se elige en la sección Grupos de datos. Se puede realizar un cálculo en los datos que se devuelven. En el ejemplo,McGrey Electrical se añade al grupo que devuelve la consulta.

Qué hacer a continuación

Añada la tarjeta a un panel de control utilizando el Creador de paneles de control.