Tipos de datos y tipos semánticos

Cuando compilas un conector de comunidad, cada campo que defines en el esquema requiere un tipo de datos. El tipo de datos define el tipo primitivo del campo, como BOOLEAN, STRING, NUMBER, etcétera.

Además de los tipos de datos, Looker Studio también usa tipos semánticos. Los tipos semánticos ayudan a describir el tipo de información que representan los datos. Por ejemplo, un campo con un tipo de datos NUMBER puede representar semánticamente un importe de moneda o un porcentaje, y un campo con un tipo de datos STRING puede representar semánticamente una ciudad. Para ver qué tipos semánticos están disponibles, consulta la documentación de tipos semánticos.

Esquema del conector de comunidad y campos de Looker Studio

Cuando defines el esquema de tu conector comunitario, hay varias propiedades para cada campo que determinarán cómo se representa y se usa el campo en Looker Studio. Por ejemplo:

  • El conceptType se define en el esquema del conector con la propiedad conceptType. Esta propiedad determina si el campo se trata como una dimensión o una métrica. Puedes encontrar una explicación sobre la diferencia entre las métricas y las dimensiones en Dimensiones y métricas.
  • El tipo semántico se puede definir en el esquema del conector o Looker Studio lo puede detectar automáticamente según la propiedad tipo de datos definida en tu conector y los valores de datos que devuelve tu conector. Consulta Detección automática del tipo semántico para obtener detalles sobre cómo funciona.
  • El tipo de agregación determina si los valores de la métrica (se ignoran las dimensiones) se pueden volver a agregar. Si se establece la propiedad semantics.isReaggregatable en true, se usará la agregación SUM de forma predeterminada. De lo contrario, se establecerá en Auto. También puedes establecer manualmente el tipo de agregación predeterminado para los campos que se pueden volver a agregar con la propiedad defaultAggregationType.

Cuando configuras y te conectas con un conector en Looker Studio, el editor de campos muestra el esquema completo del conector según cómo definiste las propiedades anteriores. Si incluiste los tipos semánticos, se mostrarán como los definiste. Si usas la detección automática de tipos semánticos, los campos se mostrarán tal como se detectaron. Pantalla de campos

Cómo configurar la información semántica

Existen dos formas de establecer información semántica. Puedes establecer la semántica de los campos de forma manual o confiar en que Looker Studio la detecte automáticamente.

Por ejemplo, si tienes un número que representa semánticamente dólares estadounidenses, Looker Studio no podrá detectar automáticamente este tipo semántico. Además, la detección semántica automática requiere que Looker Studio realice llamadas de recuperación de datos para cada campo de tu esquema. Si especificas el esquema de forma manual, no se realizarán llamadas de recuperación de datos. En el caso de que conozcas el tipo semántico (p.ej., moneda, porcentaje, fecha, etc.) de tus datos, te recomendamos que lo configures de forma explícita en el esquema por motivos de precisión y rendimiento.

Cómo establecer tipos semánticos de forma manual (recomendado)

Si conoces tus tipos semánticos, puedes definir manualmente semantics para cada campo del esquema. Puedes encontrar todos los detalles sobre las propiedades disponibles en la página de referencia de los campos. Si decides definir tipos semánticos manuales, te recomendamos que definas semanticType y semanticGroup para cada campo. Si proporcionas estas propiedades de forma manual, no se ejecutará el proceso automático de detección de tipos semánticos. Si configuras manualmente algunos de tus campos, pero no todos, los que no especifiques se establecerán de forma predeterminada en Text, Number o Boolean, según el dataType especificado para el campo.

A continuación, se muestra un ejemplo de un esquema simple que establece los tipos semánticos de forma manual. Income se establece como moneda y Filing Year como fecha.

data-studio/semantics.gs
var schema = [
  {
    'name': 'Income',
    'label': 'Income (in USD)',
    'dataType': 'NUMBER',
    'semantics': {
      'conceptType': 'METRIC',
      'semanticGroup': 'CURRENCY',
      'semanticType': 'CURRENCY_USD'
    }
  }, {
    'name': 'Filing Year',
    'label': 'Year in which you filed the taxes.',
    'dataType': 'STRING',
    'semantics': {
      'conceptType': 'METRIC',
      'semanticGroup': 'DATE_OR_TIME',
      'semanticType': 'YEAR'
    }
  }
];

Soluciona problemas relacionados con los tipos semánticos manuales

Si configuras los tipos semánticos de forma incorrecta para los datos subyacentes, no funcionarán correctamente. Esto puede ser difícil de probar, pero hay algunas cosas que puedes hacer para encontrar problemas.

  1. Devuelve 2 o 3 filas de tus datos en lugar de todas y, luego, inspecciónalas de forma manual.
  2. Crea una tabla en Looker Studio que solo use el campo que intentas verificar.
  3. Presta especial atención a los campos Geo y Date, ya que tienen el formato más estricto.

Detección automática del tipo semántico

Si no definiste ningún tipo semántico en tu esquema, Looker Studio intentará detectarlos automáticamente en función de la propiedad tipo de datos y el formato de los valores de datos que devuelve tu conector.

Los pasos del proceso de detección automática son los siguientes:

  1. Solicita el esquema ejecutando la función getSchema de tu conector comunitario.
  2. Itera a través de lotes de campos definidos en el esquema del conector y emite solicitudes de getData para los campos. Las solicitudes getData se ejecutan con el parámetro sampleExtraction establecido en true para indicar que las solicitudes de datos son para fines de detección semántica.
  3. Según el tipo de datos del campo y el formato del valor que se devuelve de la solicitud getData, identifica el tipo semántico del campo.

Opciones para controlar la detección automática del tipo semántico

Cuando Looker Studio ejecuta la función getData de un conector de comunidad con el propósito de realizar una detección semántica, la solicitud entrante contendrá una propiedad sampleExtraction que se establecerá en true. Looker Studio solo usa los datos que devuelve tu conector para identificar el tipo semántico del campo. Dado que el valor no se usará para ningún otro propósito, no requiere datos reales de tu fuente externa.

Existen varias formas de mejorar la detección de tipos semánticos en tu código:

  • Recomendación: Pasa valores predefinidos
    Devuelve un valor predefinido para cada campo que represente mejor el tipo semántico del campo y que se sepa que Looker Studio lo detecta correctamente. Por ejemplo, si el tipo semántico de un campo es Country, devuelve un valor como IT para Italia. Otro beneficio de este enfoque es que es mucho más rápido, ya que no requiere que realices solicitudes HTTP al servicio de terceros para obtener datos.

  • Devuelve solo n cantidad de registros
    Si el servicio de terceros del que recuperas datos admite límites de filas cuando solicitas datos, devuelve un pequeño subconjunto de filas a Looker Studio en lugar del conjunto de datos completo. Esto limitará la cantidad de datos que debes pasar a Looker Studio para cada solicitud de detección semántica.

  • Solicita todas las columnas y almacena en caché la respuesta
    Si es posible solicitar todas las columnas del servicio de terceros del que recuperas datos, en la primera solicitud de detección semántica que recibas de Looker Studio, recupera todas las columnas y almacena en caché los resultados. En el caso de las solicitudes de detección semántica posteriores, se recuperan los valores de las columnas de la caché en lugar de realizar solicitudes HTTP adicionales al servicio de terceros.

  • No hacer nada diferente
    Puedes optar por no implementar ninguna adaptación específica para las solicitudes en las que sampleExtraction se establece en true. Esto hará que el proceso de detección semántica sea más lento, ya que Looker Studio tendrá que recuperar todos los datos para el proceso de detección semántica. Además, esto afectará la frecuencia de solicitudes a tu fuente de datos externa, ya que se ejecutarán muchas solicitudes de detección semántica en paralelo.

Formatos reconocidos para la detección automática del tipo semántico

Fecha y hora
  • YYYY/MM/DD-HH:MM:SS
  • YYYY-MM-DD [HH:MM:SS[.uuuuuu]]
  • YYYY/MM/DD [HH:MM:SS[.uuuuuu]]
  • YYYYMMDD [HH:MM:SS[.uuuuuu]]
  • Sat, 24 May 2008 20:09:47 GMT
  • 2008-05-24T20:09:47Z
  • Hora: Época para segundos, microsegundos, milisegundos y nanosegundos.
Ubicación geográfica