Tipos de datos y tipos semánticos

Al crear un conector comunitario, cada uno de los campos que definas en el esquema necesitará un tipo de datos. El tipo de datos define el tipo primitivo del campo, como BOOLEAN, STRING o NUMBER.

Además de los tipos de datos, Data Studio también utiliza tipos semánticos, que permiten describir la clase de información que representan los datos. Por ejemplo, un campo que tenga el tipo de datos NUMBER, semánticamente puede representar un importe monetario o un porcentaje; mientras que un campo que tenga el tipo de datos STRING, semánticamente puede representar una ciudad. Consulta la documentación sobre tipos semánticos para saber qué tipos hay.

Esquema del conector comunitario y campos de Data Studio

Al definir el esquema del conector comunitario, las distintas propiedades de cada campo permiten determinar cómo se representa y se utiliza este en Data Studio. Por ejemplo:

  • El tipo de concepto se define en el esquema del conector mediante la propiedad conceptType. Esta propiedad determina si el campo se trata como una dimensión o una métrica. En el artículo Dimensiones y métricas encontrarás una explicación sobre estos dos elementos.
  • El tipo semántico se puede definir en el esquema del conector, pero Data Studio también puede detectarlo automáticamente en función de la propiedad de tipo de datos que hayas definido en el conector y de los valores de los datos que este devuelva. Consulta la sección Detección automática de tipos semánticos para saber cómo funciona este proceso.
  • El tipo de agregación determina si se pueden volver a agregar los valores de las métricas (las dimensiones se omiten). Si asignas el valor true a la propiedad semantics.isReaggregatable, se aplicará la agregación SUM de forma predeterminada. De lo contrario, el valor asignado de forma predeterminada es Auto. También puedes utilizar la propiedad defaultAggregationType para definir manualmente el tipo de agregación predeterminado de los campos que pueden volver a agregarse.

Cuando configuras parámetros y conectas datos mediante un conector en Data Studio, en el editor de campos se muestra el esquema completo del conector en función de cómo hayas definido las propiedades anteriores. Si has incluido los tipos semánticos, aparecerán tal y como los hayas definido. Si utilizas la detección automática de tipos semánticos, los campos se mostrarán en función de cómo se hayan detectado. Pantalla de campos

Configurar la información semántica

Hay dos formas de configurar la información semántica de los campos. Puedes definirla manualmente o dejar que Data Studio la detecte de forma automática.

Por ejemplo, si un número representa semánticamente dólares estadounidenses, Data Studio no podrá detectar este tipo semántico de forma automática. Además, para que la detección automática de tipos semánticos se lleve a cabo, Data Studio debe realizar llamadas de obtención de datos para cada uno de los campos incluidos en el esquema. Si especificas los campos del esquema de forma manual, estas llamadas no se realizarán. Si conoces los tipos semánticos (por ejemplo, moneda, porcentaje, fecha, etc.) de los datos, te recomendamos que los incluyas de forma explícita en el esquema por motivos de precisión y rendimiento.

Configurar los tipos semánticos manualmente (recomendado)

Si conoces los tipos semánticos de tu esquema, puedes definir manualmente los parámetros de semantics de cada uno de los campos. En la página de referencia de campos encontrarás información detallada sobre los parámetros disponibles. Si decides ajustar los tipos semánticos de forma manual, te recomendamos que definas semanticType y semanticGroup en cada uno de los campos. Si especificas las propiedades de forma manual, el proceso de detección automática de tipos semánticos no se ejecutará. Si solo defines manualmente algunos de los campos, al resto se les asignará el tipo predeterminado Text, Number o Boolean, dependiendo de la propiedad dataType que se haya especificado en los campos correspondientes.

A continuación se incluye un ejemplo de un esquema simple en el que se han definido los tipos semánticos de forma manual. El tipo semántico Income se ha definido como una moneda; y el tipo semántico Filing Year, como una 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'
    }
  }
];

Solucionar problemas con tipos semánticos definidos manualmente

Si defines de forma incorrecta los tipos semánticos de los datos subyacentes, no funcionarán correctamente. No es fácil encontrar el origen de los problemas mediante pruebas, pero estos consejos te ayudarán:

  1. Muestra dos o tres filas de los datos en lugar de mostrarlos todos, y luego analízalos manualmente.
  2. Crea una tabla en Data Studio que solo incluya el campo que quieres revisar.
  3. Presta especial atención a los campos Geo y Date, porque son los que tienen el formato más estricto.

Detección automática de tipos semánticos

Si no has definido ningún tipo semántico en el esquema, Data Studio intentará detectarlos automáticamente en función de la propiedad dataType y el formato de los valores de los datos que devuelva el conector.

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

  1. Se solicita el esquema ejecutando la función getSchema del conector comunitario.
  2. Se repite el proceso, por lotes, con los campos definidos en el esquema del conector y se envían solicitudes getData de los campos. Las solicitudes getData se ejecutan si el parámetro sampleExtraction tiene asignado el valor true; con este ajuste se indica que el objetivo de las solicitudes de datos es detectar automáticamente los tipos semánticos.
  3. Se identifican los tipos semánticos de los campos en función del tipo de datos y del formato de los valores que haya devuelto la solicitud getData.

Opciones para gestionar la detección automática de tipos semánticos

Cuando Data Studio ejecuta la función getData de un conector comunitario para detectar los tipos semánticos, la solicitud que se recibe incluye la propiedad sampleExtraction con el valor true asignado. Data Studio solo utiliza los datos que devuelve el conector para identificar el tipo semántico del campo. Como el valor no se va a usar con ningún otro fin, no se necesitan datos reales de la fuente externa.

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

  • Transferir valores predefinidos (opción recomendada)
    Se devuelve para cada campo un valor predefinido que represente lo mejor posible el tipo semántico y que Data Studio pueda detectar correctamente. Por ejemplo, si el tipo semántico de un campo es Country, se devuelve un valor como IT para representar Italia. La otra ventaja de este mecanismo es que es mucho más rápido porque no requiere enviar solicitudes HTTP al servicio de terceros para obtener los datos.

  • Devolver solo un número limitado de registros
    Si el servicio de terceros del que se obtienen los datos permite limitar las filas a la hora de solicitarlos, se devuelve a Data Studio un subconjunto reducido de datos en lugar de devolverlos todos. De esta manera se limitará la cantidad de datos que se necesita transferir a Data Studio por cada solicitud de detección de tipos semánticos.

  • Solicitar todas las columnas y almacenar en caché los resultados
    Si el servicio de terceros que envía los datos permite solicitar todas las columnas, en la primera solicitud de detección de tipos semánticos que se reciba de Data Studio se obtendrán todas las columnas y se almacenarán en caché los resultados. En posteriores solicitudes de detección de tipos semánticos, se obtendrán los valores de las columnas desde la memoria caché en lugar de enviar más solicitudes HTTP al servicio de terceros.

  • No cambiar el procedimiento
    Se puede optar por no aplicar ningún requisito específico a las solicitudes en las que el parámetro sampleExtraction tenga asignado el valor true. La detección automática de los tipos semánticos será más lenta, porque Data Studio tendrá que obtener todos los datos para poder llevar a cabo el proceso. Además, el porcentaje de solicitudes que se envían a la fuente de datos externa se verá afectado, ya que se ejecutarán muchas solicitudes de detección de tipos semánticos en paralelo.

Formatos admitidos para detectar automáticamente los tipos semánticos

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
  • Inicio del registro de tiempo en segundos, microsegundos, milisegundos y nanosegundos
Información geográfica