Funciones obligatorias
getConfig()
Devuelve al usuario las opciones del conector que se pueden configurar.
Solicitud
@param {Object} request
Objeto JavaScript que contiene los parámetros de solicitud de la configuración.
El objeto JavaScript de parámetros contiene datos con la estructura siguiente:
{
languageCode: string
}
Nombre del campo | Tipo | Descripción |
---|---|---|
languageCode
|
string
|
Código que representa el idioma del usuario. Se puede utilizar para devolver al usuario una versión localizada de las opciones de configuración. Consulta la lista completa de idiomas y códigos admitidos. |
configParams | objeto | Presente si la llamada anterior a getConfig() incluía .setIsSteppedConfig(true) .
Objeto que contiene los valores que ha proporcionado el usuario de los parámetros de configuración definidos hasta el momento. |
Ejemplo de solicitud
Ejemplo de una solicitud getConfig
enviada por un usuario cuyo idioma definido es el italiano:
{
languageCode: "it"
}
Respuesta
Servicio de Data Studio
@return {object}
Objeto JavaScript que representa la configuración de la solicitud especificada.
Ejemplo
function getConfig(request) {
var cc = DataStudioApp.createCommunityConnector();
var config = cc.getConfig();
config
.newTextInput()
.setId('exampleTextInput')
.setName('Single line text')
.setHelpText('Helper text for single line text')
.setPlaceholder('Lorem Ipsum');
config
.newTextArea()
.setId('exampleTextArea')
.setName('Text area')
.setHelpText('Helper text for text area')
.setPlaceholder('Lorem Ipsum');
config
.newSelectSingle()
.setId('exampleSelectSingle')
.setName('Select single')
.setHelpText('Helper text for select single')
.setAllowOverride(true)
.addOption(config.newOptionBuilder().setLabel('Lorum foo').setValue('lorem'))
.addOption(config.newOptionBuilder().setLabel('Ipsum Bar').setValue('ipsum'))
.addOption(config.newOptionBuilder().setLabel('Sit').setValue('amet'));
config
.newSelectMultiple()
.setId('exampleSelectMultiple')
.setName('Select multiple')
.setHelpText('Helper text for select multiple')
.addOption(config.newOptionBuilder().setLabel('Lorum foo').setValue('lorem'))
.addOption(config.newOptionBuilder().setLabel('Ipsum Bar').setValue('ipsum'))
.addOption(config.newOptionBuilder().setLabel('Sit').setValue('amet'));
config
.newCheckbox()
.setId('exampleCheckbox')
.setName('This is a checkbox')
.setHelpText('Helper text for checkbox');
config
.newInfo()
.setId('exampleInfo')
.setText('Examle instructions text used in Info')
config.setDateRangeRequired(true);
config.setIsSteppedConfig(false);
return config.build();
}
Antigua
@return {object}
Objeto JavaScript que representa la configuración del conector que debería mostrarse al usuario.
La respuesta contiene la configuración del conector con la siguiente estructura:
{
configParams: [
{
type: string(ConfigType),
name: string,
displayName: string,
helpText: string,
placeholder: string,
isDynamic: boolean,
parameterControl: {
allowOverride: boolean
},
options: [
{
label: string,
value: string
}
]
}
],
dateRangeRequired: boolean,
isSteppedConfig: boolean
}
Nombre del campo | Tipo | Descripción |
---|---|---|
configParams[]
|
object
|
El usuario proporciona los valores obligatorios para el conector. Cada elemento representa un campo de entrada del usuario. |
configParams[].type
|
string (ConfigType)
|
Tipo de campo de entrada. |
configParams[].name
|
string
|
ID del campo de entrada. Esta cadena no puede estar vacía ni puede contener espacios. |
configParams[].displayName
|
string
|
Etiqueta de texto del campo de entrada. |
configParams[].helpText
|
string
|
Texto que se muestra para ofrecer ayuda adicional al usuario sobre el valor esperado del campo. |
configParams[].placeholder
|
string
|
Solo se usa si el tipo (type ) es TEXTINPUT o TEXTAREA . Texto del marcador de posición que se usará como sugerencia corta para describir el valor esperado del campo de entrada. |
configParams[].isDynamic
|
boolean
|
Indica si este campo se usa o no para rellenar dinámicamente entradas de configuración posteriores. El valor predeterminado es false .
|
configParams[].parameterControl.allowOverride
|
boolean
|
Activa la función de anulación del parámetro. Si se le asigna el valor true , los creadores de fuentes de datos pueden habilitar esta opción para los editores de informes.El valor predeterminado de allowOverride es false . Si no quieres que un parámetro sea anulable, puedes omitir la propiedad allowOverride .
|
configParams[].options[]
|
list
|
Solo se usa cuando el tipo (type ) es SELECT . Proporciona una lista con todas las opciones. |
options[].label
|
string
|
Etiqueta de la opción. |
options[].value
|
string
|
Valor de la opción. Esta cadena no puede estar vacía, ni contener espacios o comas. |
dateRangeRequired
|
boolean
|
Si el valor es true , se proporciona un periodo para las solicitudes getData() . De forma predeterminada, se elige como periodo los últimos 28 días sin contar el día en curso (today ). Se debe definir en las API de datos que requieren un periodo para las consultas, y se debe definir si las solicitudes a las API de datos pueden ser más eficaces al limitar el periodo. El valor predeterminado es false . |
isSteppedConfig
|
boolean
|
Si el valor es true , Data Studio le pedirá al usuario que responda al conjunto de preguntas de configuración que se muestren en ese momento y luego devolverá esas preguntas respondidas a llamadas posteriores a getConfig() . Si el valor es false (predeterminado), el usuario podrá hacer clic en la opción de conectar para ir a la página Esquema.
|
Ejemplo de respuesta
En el ejemplo siguiente se muestra la configuración de un solo cuadro de texto de línea, un área de texto, una selección individual, una selección múltiple, una casilla y un cuadro de información. El valor de selección única se puede anular en los informes.
{
configParams: [
{
type: "TEXTINPUT",
name: "exampleTextInput",
displayName: "Single line text",
helpText: "Helper text for single line text",
placeholder: "Lorem Ipsum"
},
{
type: "TEXTAREA",
name: "exampleTextArea",
displayName: "Text area",
helpText: "Helper text for text area",
placeholder: "Lorem Ipsum"
},
{
type: "SELECT_SINGLE",
name: "exampleSELECT_SINGLE",
displayName: "Select single",
helpText: "Helper text for select-single",
parameterControl: {
allowOverride: true
},
options: [
{
label: "Lorem foo",
value: "lorem"
},
{
label: "Ipsum bar",
value: "ipsum"
},
{
label: "Sit",
value: "amet"
}
]
},
{
type: "SELECT_MULTIPLE",
name: "exampleSELECT_MULTIPLE",
displayName: "Select multiple",
helpText: "Helper text for select-multiple",
options: [
{
label: "Lipsum",
value: "lipsum"
},
{
label: "Foo Bar",
value: "foobar"
},
{
label: "Dolor Sit",
value: "amet"
}
]
},
{
type: "CHECKBOX",
name: "exampleCheckbox",
displayName: "This is a checkbox",
helpText: "Helper text for checkbox",
},
{
type: "INFO",
name: "exampleInfo",
text: "Example instructions text used in Info"
}
],
dateRangeRequired: false
}
getSchema()
Devuelve el esquema de la solicitud especificada. Proporciona información sobre la organización de los datos del conector. Incluye información detallada de cada campo, como identificadores, nombres, tipos de datos, etc.
Solicitud
@param {Object} request
Objeto JavaScript que contiene los parámetros de solicitud del esquema.
El objeto JavaScript de parámetros contiene datos con la estructura siguiente:
{
"configParams": object
}
Nombre del campo | Tipo | Descripción |
---|---|---|
configParams
|
Object
|
Objeto JavaScript que contiene los valores que ha proporcionado el usuario de los parámetros de configuración definidos por el conector. |
Ejemplo de solicitud
Ejemplo de un objeto de solicitud getSchema
:
{
"configParams": {
"exampleSelectMultiple": "foobar,amet",
"exampleSelectSingle": "ipsum",
"exampleTextInput": "Lorem Ipsum Dolor Sit Amet",
"exampleTextArea": "NA",
"exampleCheckbox": "true"
}
}
Respuesta
Servicio de Data Studio
@return {object}
Objeto JavaScript que representa el esquema de la solicitud especificada.
Ejemplo
function getSchema(request) {
var cc = DataStudioApp.createCommunityConnector();
var fields = cc.getFields();
var types = cc.FieldType;
var created = fields.newDimension()
.setId('Created')
.setName('Date Created')
.setDescription('The date that this was created')
.setType(types.YEAR_MONTH_DAY)
.setGroup('Date');
var amount = fields.newMetric()
.setId('Amount')
.setName('Amount (USD)')
.setDescription('The cost in US dollars')
.setType(types.CURRENCY_USD)
.setIsHidden(true);
var amountper = fields.newMetric()
.setId('AmountPer')
.setName('Amount Per Dimension')
.setDescription('The summed cost')
.setType(types.CURRENCY_USD)
.setGroup('Money')
.setFormula('sum($Amount)');
var probability = fields.newMetric()
.setId('Probability')
.setName('Probability (Close rate)')
.setDescription('The probability that a store closes')
.setType(types.PERCENT);
var opportunityname = fields.newDimension()
.setId('OpportunityName')
.setName('Opportunity Name')
.setDescription('The name of the opportunity')
.setType(types.TEXT);
var isverified = fields.newDimension()
.setId('IsVerified')
.setName('Verified Status')
.setDescription('Whether or not the store is verified')
.setType(types.BOOLEAN);
var company = fields.newDimension()
.setId('Company')
.setName('Incorporated Company Name')
.setDescription('The name of the company the store belongs to')
.setType(types.TEXT);
fields.setDefaultMetric(amountper.getId());
fields.setDefaultDimension(created.getId());
return { 'schema': fields.build() };
}
Antigua
@return {object}
Objeto JavaScript que representa el esquema de la solicitud especificada.
La función devuelve el esquema con la siguiente estructura:
{
"schema": [
{
object(Field)
}
]
}
Nombre del campo | Tipo | Descripción |
---|---|---|
schema[]
|
object(Field)
|
Esquema de la solicitud, que incluye información detallada sobre cada uno de los campos. |
Ejemplo de respuesta
{
"schema": [
{
"name": "Created",
"label": "Date Created",
"description": "The date that this was created",
"dataType": "STRING",
"group": "Date",
"isDefault": true,
"semantics": {
"conceptType": "DIMENSION",
"semanticGroup": "DATE_AND_TIME",
"semanticType": "YEAR_MONTH_DAY",
"isReaggregatable": false
}
},
{
"name": "Amount",
"label": "Amount (USD)",
"description": "The cost in US dollars",
"dataType": "NUMBER",
"isHidden": true,
"semantics": {
"conceptType": "METRIC",
"semanticGroup": "CURRENCY",
"semanticType": "CURRENCY_USD",
}
},
{
"name": "AmountPer",
"label": "Amount Per Dimension",
"description": "The summed cost",
"dataType": "NUMBER",
"group": "Money",
"formula": "sum(Amount)",
"isDefault": true,
"semantics": {
"conceptType": "METRIC",
"semanticGroup": "CURRENCY",
"semanticType": "CURRENCY_USD",
"isReaggregatable": true
}
},
{
"name": "Probability",
"label": "Probability (Close rate)",
"description": "The probability that a store closes",
"dataType": "NUMBER",
"semantics": {
"conceptType": "METRIC",
"semanticGroup": "NUMERIC",
"semanticType": "PERCENT",
"isReaggregatable": false
}
},
{
"name": "OpportunityName",
"label": "Opportunity Name",
"description": "The name of the opportunity",
"dataType": "STRING",
"semantics": {
"conceptType": "DIMENSION",
"semanticType": "TEXT",
"isReaggregatable": false
}
},
{
"name": "IsVerified",
"label": "Verified Status",
"description": "Whether or not the store is verified",
"dataType": "BOOLEAN",
"semantics": {
"conceptType": "DIMENSION",
"semanticType": "BOOLEAN",
"isReaggregatable": false
}
},
{
"name": "Company",
"label": "Incorporated Company Name",
"description": "The name of the company the store belongs to",
"dataType": "STRING",
"semantics": {
"conceptType": "DIMENSION",
"semanticType": "TEXT",
"isReaggregatable": false
}
}
]
}
getData()
Devuelve los datos de la solicitud especificada en forma de tabla.
Solicitud
@param {Object} request
Objeto JavaScript que contiene los parámetros de solicitud de los datos.
El parámetro request
contiene valores que ha proporcionado el usuario e información adicional que puede servir para completar la solicitud de datos. Tiene la siguiente estructura:
{
"configParams": object,
"scriptParams": {
"sampleExtraction": boolean,
"lastRefresh": string
},
"dateRange": {
"startDate": string,
"endDate": string
},
"fields": [
{
"name": string
}
],
"dimensionsFilters": [
[{
"fieldName": string,
"values": string[],
"type": DimensionsFilterType,
"operator": Operator
}]
]
}
Nombre | Tipo | Descripción |
---|---|---|
configParams
|
object
|
Objeto que contiene los valores que ha proporcionado el usuario de los parámetros de configuración definidos por el conector. |
scriptParams
|
ScriptParams | Objeto que contiene información sobre la ejecución del conector. |
dateRange
|
DateRange | De manera predeterminada, el periodo proporcionado será los últimos 28 días, sin incluir el día en curso. Si un usuario aplica un filtro de periodo a los informes, el periodo proporcionado reflejará la selección de ese usuario. Si se asigna el valor `true** a sampleExtraction , la fecha de inicio y la de finalización será la misma: dos días antes del día en curso. |
fields[].name
|
string
|
Nombres de los campos solicitados. |
fields[].forFilterOnly
|
boolean
|
Marca un campo que solo se usa para filtrar la solicitud. No se debe devolver este campo si el conector aplica filtros. |
dimensionsFilters
|
DimensionsFilters | Matriz anidada de los filtros que ha seleccionado el usuario. Las matrices más internas deben combinarse mediante OR y las más externas mediante AND . |
dateRange
Nombre | Tipo | Descripción |
---|---|---|
startDate
|
string
|
Fecha de inicio para filtrar los datos. Se aplica solo si se asigna el valor true a dateRangeRequired. El formato será YYYY-MM-DD . |
endDate
|
string
|
Fecha de finalización para filtrar los datos. Se aplica solo si se asigna el valor true a dateRangeRequired. El formato será YYYY-MM-DD . |
scriptParams
Nombre | Tipo | Descripción |
---|---|---|
sampleExtraction
|
boolean
|
Si el valor es true , la solicitud getData() corresponde a la detección automática de los tipos semánticos. |
lastRefresh
|
string
|
Marca de tiempo que indica la última solicitud de actualización de datos. |
dimensionsFilters
Nombre | Tipo | Descripción |
---|---|---|
fieldName
|
string
|
Nombre del campo que se va a filtrar. |
values
|
string[]
|
Matriz de valores que se usará con el operador. |
type
|
"INCLUDE" | "EXCLUDE"
|
Indica si los datos que coinciden con este filtro deben incluirse o excluirse en la respuesta getData() . |
operator |
FilterOperator | Operador que se va a aplicar. |
Ejemplo de solicitud
{
"configParams": {
"multiSelectExample": "foo,bar",
"singleSelectExample": "Lipsum",
"singleTextExample": "Lorem Ipsum",
"multiTextExample": "Dolor Sit Amet",
"includeCheckExample": "true"
},
"dateRange": {
"endDate": "2017-07-16",
"startDate": "2017-06-19"
},
"fields": [
{"name": "count"},
{"name": "family"}
]
}
Respuesta
Predeterminada
@return {object}
Objeto JavaScript que contiene el esquema y los datos de la solicitud especificada.
La función devuelve datos dispuestos en una tabla como respuesta a la solicitud especificada. El esquema de los datos tabulares se incluye en la respuesta, la cual debería presentar esta estructura:
{
"schema": [
{
object(Field)
}
],
"rows": [
{
"values": [
string
]
}
]
}
Nombre | Tipo | Descripción |
---|---|---|
schema
|
Field[] | Esquema de los campos solicitados.
Los campos field.name y field.dataType son obligatorios. El orden del objeto field debe corresponderse con el orden de los valores en cada fila. |
rows[].values[]
|
string | number |
boolean
|
Valores de los campos solicitados. El orden de los valores se debe corresponder con el orden del objeto Fields , tal y como se define en schema . |
filtersApplied
|
boolean
|
Se asigna el valor "true" si todos los filtros se han aplicado correctamente; de lo contrario, se asigna el valor "false". |
Campo
Nombre | Tipo | Descripción |
---|---|---|
name |
string |
Nombre del campo. |
dataType |
DataType | Tipo de campo. |
Ejemplo
{
"schema": [
{
"name": "OpportunityName",
"dataType": "STRING"
},
{
"name": "IsVerified",
"dataType": "BOOLEAN"
},
{
"name": "Created",
"dataType": "STRING"
},
{
"name": "Amount",
"dataType": "NUMBER"
}
],
"rows": [
{
"values": ["Interesting", true, "2017-05-23", "120453.65"]
},
{
"values": ["SF", false, "2017-03-03", "362705286.92"]
},
{
"values": ["Spring Sale", true, "2017-04-21", "870.12"]
}
],
"filtersApplied": false
}
BigQuery
@return {object}
Objeto JavaScript que representa la configuración de la consulta de BigQuery.
Ejemplo
var bqTypes = DataStudioApp.createCommunityConnector().BigQueryParameterType;
var configuration = DataStudioApp.createCommunityConnector().newBigQueryConfig()
.setBillingProjectId('billingProjectId')
.setQuery('myQueryString')
.setUseStandardSql(true)
.setAccessToken('myAccessToken')
.addQueryParameter('myUrlParameterName', bqTypes.STRING, 'myUrlParameterValue')
.build();
getAuthType()
Devuelve el método de autenticación del conector.
Solicitud
Esta función no acepta ningún argumento.
Respuesta
Servicio de Data Studio
@return {object}
Objeto que contiene el objeto AuthType
utilizado por el conector. Si AuthType
es USER_TOKEN
, USER_PASS
o KEY
, también se puede definir una cadena helpUrl
opcional.
Ejemplo
function getAuthType() {
var cc = DataStudioApp.createCommunityConnector();
return cc.newAuthTypeResponse()
.setAuthType(cc.AuthType.USER_PASS)
.setHelpUrl('https://www.example.org/connector-auth-help')
.build();
}
Antigua
@return {object}
Objeto que contiene el objeto AuthType
utilizado por el conector. Si AuthType
es USER_TOKEN
, USER_PASS
o KEY
, también se puede definir una cadena helpUrl
opcional.
La respuesta tiene la siguiente estructura:
{
"type": string(AuthType),
"helpUrl": string
}
Nombre del campo | Tipo | Descripción |
---|---|---|
type
|
string(AuthType)
|
Valor del tipo de autenticación. |
helpUrl
|
string
|
URL opcional que se mostrará si
type es USER_TOKEN ,
USER_PASS o KEY . Esta URL debe apuntar a una página donde los usuarios puedan obtener información sobre cómo autenticar el conector.
|
Ejemplo de respuesta
{
"type": "USER_TOKEN",
"helpUrl": "https://www.example.org/connector-auth-help"
}
Funciones de autenticación obligatorias
isAuthValid()
Comprueba si las credenciales del servicio de terceros son válidas.
Solicitud
Esta función no acepta ningún argumento.
Respuesta
@return {boolean}
Devuelve true
si las credenciales del servicio de terceros son válidas; de lo contrario, devuelve false
. Si el valor es true
, deberían autorizarse las llamadas a getData
y getSchema
. Si el valor es false
, el usuario probablemente recibirá una notificación en la que se indicará que la autenticación ha caducado y se le pedirá que repita la autorización.
resetAuth()
Borra las credenciales de usuario del servicio de terceros.
Solicitud
Esta función no acepta ningún argumento.
Respuesta
La respuesta está vacía.
Funciones OAuth2 obligatorias
get3PAuthorizationUrls()
Devuelve la URL de autorización del servicio de terceros para iniciar el flujo de OAuth 2.0.
Solicitud
Esta función no acepta ningún argumento.
Respuesta
@return {string}
Devuelve la URL de autorización del servicio de terceros. Esta URL se presentará al usuario para iniciar el flujo de OAuth 2.0, cuyo fin es conceder acceso al servicio de terceros.
authCallback()
Gestiona la respuesta de autorización que recibe del servicio de terceros como parte del proceso de autorización de OAuth 2.0.
Solicitud
@param {string} request
Objeto JSON codificado que representa los datos de la solicitud de la finalización del flujo de OAuth 2.0.
El parámetro request
de la finalización del flujo de OAuth 2.0 debería contener datos con la estructura que se indica a continuación. Se muestra una solicitud que se ha realizado correctamente y otra que ha devuelto un error:
// Success
{
"parameter":
{
"code": string
}
}
// Error
{
"parameter":
{
"error": string
}
}
Nombre del campo | Tipo | Descripción |
---|---|---|
parameter
|
object
|
Valores code o error de un flujo de OAuth 2.0 que se ha realizado correctamente o que ha devuelto un error. Estos valores se pueden usar para gestionar más específicamente las devoluciones de llamada.
|
code
|
string
|
Se incluirá si el flujo de OAuth 2.0 se realiza correctamente. Además, contendrá el valor del parámetro de consulta code correspondiente a la solicitud de retrollamada de OAuth 2.0 que se ha recibido del servicio de terceros. Es un código de autorización que se puede usar para gestionar más específicamente OAuth 2.0.
|
error
|
object
|
Se incluirá si el flujo de OAuth 2.0 devuelve un error. Además, contendrá el valor del parámetro de consulta error correspondiente a la solicitud de retrollamada de OAuth 2.0 que se ha recibido del servicio de terceros. Es un mensaje de error que se puede usar para gestionar más específicamente OAuth 2.0 y para crear notificaciones.
|
Respuesta
@return {object}
Devuelve un objeto HTML que se generará y se mostrará al usuario. Consulta más información en la documentación de la biblioteca de OAuth y la documentación del servicio HTML de Apps Script.
Funciones usuario/contraseña y clave obligatorias
setCredentials()
Almacena las credenciales que pasa Data Studio.
Solicitud
@param {Object} request
Objeto JavaScript que contiene los parámetros de solicitud de los datos.
El parámetro request
contiene las credenciales introducidas por el usuario. Tendrá userPass
, userToken
o key
, dependiendo de la respuesta de getAuthType()
.
{
"userPass": {
"username": string,
"password": string
},
"userToken": {
"username": string,
"token": string,
},
"key": string
}
Nombre del campo | Tipo |
---|---|
userPass.username |
El nombre de usuario proporcionado por el usuario. |
userPass.password |
La contraseña proporcionada por el usuario. |
userToken.username |
El nombre de usuario proporcionado por el usuario. |
userToken.token |
El token proporcionado por el usuario. |
key |
La clave de API o el token proporcionados por el usuario. |
Respuesta
@return {object}
Objeto de JavaScript que contiene un código de error en el que se indica si las credenciales se pudieron definir correctamente.
{
"errorCode": string("NONE" | "INVALID_CREDENTIALS")
}
Nombre del campo | Tipo | Descripción |
---|---|---|
errorCode |
enum(string) |
El errorCode de la llamada de setCredentials |
Nombre del código de error | Descripción |
---|---|
"NONE" |
Las credenciales se pudieron definir correctamente. |
"INVALID_CREDENTIALS" |
Las credenciales proporcionadas no eran válidas. |
Ejemplo de respuesta
{
"errorCode": "NONE"
}
Funciones opcionales
isAdminUser()
Comprueba si el usuario es administrador del conector. Esta función se usa para activar o desactivar funciones de depuración. Consulta más información al respecto en el artículo Activar y desactivar funciones de depuración.
Solicitud
Esta función no acepta ningún argumento.
Respuesta
@return {boolean}
Devuelve el valor true
si el usuario es administrador del conector. Si la función se omite o devuelve el valor false
, el usuario no se considerará administrador. Consulta más información al respecto en el artículo Activar y desactivar las funciones de depuración.
Tipos de datos
Campo
Servicio de Data Studio
Consulta el campo Clase para ver todos los métodos que existen en ese tipo de campo.
Crear un campo
var cc = DataStudioApp.createCommunityConnector();
var types = cc.FieldType;
var aggregations = cc.AggregationType;
var myField = cc.newDimension() // Or newMetric
.setId('my_unique_identifier')
.setName('My friendly name')
.setDescription('My short description')
.setType(types.YEAR_MONTH_DAY)
// formula fields cannot be hidden.
.setIsHidden(true)
.setGroup('My group name');
Antigua
Describe un campo determinado de un registro o de una fila dentro de un esquema.
Cada campo tiene la siguiente estructura:
{
"name": string,
"label": string,
"description": string,
"dataType": string(DataType),
"group": string,
"formula": string,
"isDefault": boolean,
"defaultAggregationType": string(DefaultAggregationType),
"semantics": {
"conceptType": string(ConceptType),
"semanticType": string(SemanticType),
"semanticGroup": string(SemanticGroup),
"isReaggregatable": boolean
}
}
Nombre del campo | Tipo | Descripción |
---|---|---|
name
|
string
|
Nombre del campo. Se usa como identificador único. Solo se admiten caracteres alfanuméricos y guiones bajos. |
label
|
string
|
Nombre visible del campo. Se utiliza como un nombre legible en la interfaz de usuario. |
description
|
string
|
Descripción opcional del campo. Solo se puede usar texto sin formato. |
dataType
|
string(DataType)
|
Tipo de datos del campo. |
isHidden
|
boolean
|
Propiedad opcional. Asígnale el valor true para ocultar el campo.
Los campos ocultos no se muestran en la pantalla de campos ni se pueden seleccionar para mostrarlos en los gráficos, pero se pueden usar en fórmulas de campos calculados.
Los campos de fórmula no se pueden ocultar.
|
group
|
string
|
Propiedad opcional que indica que un determinado campo pertenece a un grupo. Si fieldA y fieldB pertenecen al grupo groupC , se agruparán en el selector de métricas o en el selector de dimensiones de la interfaz de usuario. Si el grupo se define en al menos un campo, a los campos que no tengan grupo se les asignará un grupo de Default Group .
|
formula
|
string
|
Propiedad opcional que determina cómo se calcula un campo. Si la fórmula no es válida, el campo se omite. Si se proporcionan las dos propiedades de agregación (
Solo algunos tipos Si configuras manualmente este campo, no se podrá modificar en el editor de campos. Para obtener más detalles sobre cómo crear fórmulas, consulta el artículo Información sobre los campos calculados. |
isDefault
|
boolean
|
Propiedad opcional que indica si un campo debe seleccionarse como los parámetros dimension o metric predeterminados. Solo debes definir un parámetro dimension y uno metric predeterminados del esquema.
|
defaultAggregationType
|
string(DefaultAggregationType)
|
Propiedad opcional que indica qué agregación debería configurar Data Studio de forma predeterminada en este campo. Los usuarios pueden cambiar este valor. |
semantics
|
object
|
Propiedades para proporcionar información semántica sobre el campo. Si esta propiedad (y semantics.semanticType ) se incluye en alguno de los campos del esquema, se inhabilita la detección automática de los tipos semánticos. Si esta propiedad no se incluye en ninguno de los campos, se habilitará la detección automática de los tipos semánticos.
|
semantics.conceptType
|
string(ConceptType)
|
Indica si el campo es una dimensión o una métrica. |
semantics.semanticType
|
string(SemanticType)
|
Tipo semántico del campo. Si se proporciona, se inhabilita la detección automática de los tipos semánticos. |
semantics.semanticGroup
|
string(SemanticGroup)
|
Grupo semántico del campo. Esta propiedad opcional permite agrupar los tipos semánticos. Actualmente, Data Studio no utiliza este campo, pero quizás lo use más adelante. |
semantics.isReaggregatable
|
boolean
|
El valor true indica que la agregación se puede aplicar a este campo. En Data Studio, el parámetro aggregation tiene asignado el valor SUM de forma predeterminada, pero el usuario puede cambiarlo.El valor false indica que la agregación no se puede aplicar a este campo. En Data Studio, el parámetro aggregation tiene asignado el valor AUTO de forma predeterminada, y el usuario no puede cambiarlo.El valor predeterminado es true .Nota: Esta propiedad solo afecta a los campos de métricas. |
ConceptType
Los valores de los tipos de conceptos semánticos pueden ser uno de los siguientes:
Valor de enumeración | Descripción |
---|---|
DIMENSION |
Dimensión. Las dimensiones son categorías de datos con valores como nombres, descripciones u otras características de una categoría. |
METRIC |
Métrica. Las métricas miden valores de dimensión y representan mediciones tales como sumas, recuentos, proporciones, etc. |
DataType
Los valores de los tipos de datos del esquema pueden ser uno de los siguientes:
Valor de enumeración | Descripción |
---|---|
STRING |
Cadena arbitraria, según se define en las especificaciones del esquema JSON. |
NUMBER |
Tipo de datos numéricos en formato de punto flotante de 64 bits de doble precisión (IEEE 754). |
BOOLEAN |
Valor booleano, que puede ser true o false , según se define en las especificaciones del esquema JSON. |
SemanticType
Valor de enumeración | Descripción | Ejemplo |
---|---|---|
YEAR |
YYYY |
"2017" |
YEAR_QUARTER |
YYYYQ |
"20171" |
YEAR_MONTH |
YYYYMM |
"201703" |
YEAR_WEEK |
YYYYww |
"201707" |
YEAR_MONTH_DAY |
YYYYMMDD |
"20170317" |
YEAR_MONTH_DAY_HOUR |
YYYYMMDDHH |
"2017031403" |
YEAR_MONTH_DAY_SECOND |
YYYYMMDDHHMMSS |
"20170314031545" |
QUARTER |
(1, 2, 3, 4) |
"1" |
MONTH |
MM |
"03" |
WEEK |
ww |
"07" |
MONTH_DAY |
MMDD |
"0317" |
DAY_OF_WEEK
|
Número decimal (0-6) donde 0 es domingo. | "0"
|
DAY |
DD |
"17" |
HOUR |
HH |
"02" |
MINUTE |
mm |
"12" |
DURATION
|
Duración (en segundos). | 6340918234
|
COUNTRY |
País. | "United States" |
COUNTRY_CODE |
Código de país. | "US" |
CONTINENT |
Continente. | "Americas" |
CONTINENT_CODE |
Código de continente. | "019" |
SUB_CONTINENT |
Subcontinente. | "North America" |
SUB_CONTINENT_CODE |
Código de subcontinente. | "003" |
REGION |
Región. | "California" |
REGION_CODE |
Código de región. | "CA" |
CITY |
Ciudad. | "Mountain View" |
CITY_CODE |
Código de ciudad. | "1014044" |
METRO_CODE |
Código de área metropolitana. | "200807" |
LATITUDE_LONGITUDE
|
Latitud y longitud. | "51.5074, -0.1278"
|
NUMBER |
Número decimal | 14 |
PERCENT
|
Porcentaje decimal (puede ser más de 1,0) | 1.0
|
TEXT |
Texto sin formato | "Here is some text" |
BOOLEAN |
true o false . |
true |
URL |
URL como texto. | "https://www.google.com" |
Tipos semánticos de fórmula
Valor de enumeración | Descripción | Fórmula |
---|---|---|
HYPERLINK |
Enlace con una etiqueta de texto | "HYPERLINK($url, $description)" |
IMAGE |
URL de una imagen | "IMAGE($image_url, $alt_text)" |
IMAGELINK |
Enlace con una etiqueta de imagen. | "HYPERLINK($url, $image_field)" |
Tipos semánticos de moneda
Todos los valores de moneda son números de JavaScript. Se permiten valores negativos.
Valor de enumeración | Descripción |
---|---|
CURRENCY_AED |
Dírham de los Emiratos Árabes Unidos (DH) |
CURRENCY_ALL |
Lek albanés (L) |
CURRENCY_ARS |
Peso argentino ($) |
CURRENCY_AUD |
Dólar australiano ($) |
CURRENCY_BDT |
Taka bangladesí (৳) |
CURRENCY_BGN |
Lev búlgaro (Лв) |
CURRENCY_BOB |
Boliviano (Bs) |
CURRENCY_BRL |
Real brasileño (R$) |
CURRENCY_CAD |
Dólar canadiense ($) |
CURRENCY_CDF |
Franco congoleño (FC). |
CURRENCY_CHF |
Franco suizo (Fr) |
CURRENCY_CLP |
Peso chileno ($) |
CURRENCY_CNY |
Yuan chino (¥) |
CURRENCY_COP |
Peso colombiano ($) |
CURRENCY_CRC |
Colón costarricense (₡) |
CURRENCY_CZK |
Corona checa (Kč) |
CURRENCY_DKK |
Corona danesa (kr) |
CURRENCY_DOP |
Peso dominicano (RD$) |
CURRENCY_EGP |
Libra egipcia (£) |
CURRENCY_ETB |
Birr etíope (Br) |
CURRENCY_EUR |
Euro (€) |
CURRENCY_GBP |
Libra esterlina (£) |
CURRENCY_HKD |
Dólar de Hong Kong ($) |
CURRENCY_HRK |
Kuna croata (kn) |
CURRENCY_HUF |
Forinto húngaro (Ft) |
CURRENCY_IDR |
Rupia indonesia (Rp) |
CURRENCY_ILS |
Nuevo séquel israelí (₪) |
CURRENCY_INR |
Rupia india (₹) |
CURRENCY_IRR |
Rial iraní (﷼) |
CURRENCY_ISK |
Corona islandesa (kr) |
CURRENCY_JMD |
Dólar jamaicano ($) |
CURRENCY_JPY |
Yen japonés (¥) |
CURRENCY_KRW |
Won surcoreano (₩) |
CURRENCY_LKR |
Rupia de Sri Lanka (Rs) |
CURRENCY_LTL |
Litas lituana (Lt) |
CURRENCY_MNT |
Tugrik mongol (₮) |
CURRENCY_MVR |
Rupia de Maldivas (Rf) |
CURRENCY_MXN |
Peso mexicano ($) |
CURRENCY_MYR |
Ringgit de Malasia (RM) |
CURRENCY_NOK |
Corona noruega (kr) |
CURRENCY_NZD |
Dólar neozelandés ($) |
CURRENCY_PAB |
Balboa panameño (B/.) |
CURRENCY_PEN |
Sol peruano (S/) |
CURRENCY_PHP |
Peso filipino (₱) |
CURRENCY_PKR |
Rupia pakistaní (Rs) |
CURRENCY_PLN |
Esloti polaco (zł) |
CURRENCY_RON |
Leu rumano (lei) |
CURRENCY_RSD |
Dinar serbio (дин) |
CURRENCY_RUB |
Rublo ruso (₽) |
CURRENCY_SAR |
Riyal saudí (ر.س) |
CURRENCY_SEK |
Corona sueca (kr) |
CURRENCY_SGD |
Dólar de Singapur ($) |
CURRENCY_THB |
Baht tailandés (฿) |
CURRENCY_TRY |
Lira turca (₺) |
CURRENCY_TWD |
Nuevo dólar taiwanés (NT$) |
CURRENCY_TZS |
Chelín tanzano (Tsh) |
CURRENCY_UAH |
Grivna ucraniana (грн) |
CURRENCY_USD |
Dólar estadounidense ($) |
CURRENCY_UYU |
Dólar estadounidense ($) |
CURRENCY_VEF |
Peso uruguayo ($) |
CURRENCY_VND |
Bolívar Fuerte de Venezuela (Bs.F) |
CURRENCY_YER |
Dong vietnamita (₫) |
CURRENCY_ZAR |
Rial yemení (﷼) |
SemanticGroup
Los valores de esta lista solo son sugerencias. Puedes elegir otros. Sin embargo, si defines este campo, no se anulará el grupo que Data Studio usa en la opción Type
del editor de campos.
Valor sugerido | Descripción |
---|---|
NUMERIC |
Grupo numérico |
DATETIME |
Grupo de fecha y hora |
GEO |
Grupo de información geográfica |
CURRENCY |
Grupo de moneda |
DefaultAggregationType
Valor de enumeración | Descripción |
---|---|
AVG |
Promedio numérico (media) de las entradas |
COUNT |
Número de entradas |
COUNT_DISTINCT |
Número de entradas distintas |
MAX |
Máximo de entradas |
MIN |
Mínimo de entradas |
SUM |
Suma de las entradas |
NONE |
Sin agregación |
AUTO |
Debe definirse en campos calculados que impliquen agregaciones |
AuthType
El valor del tipo de método de autenticación puede ser uno de los que se indican a continuación:
Valor de enumeración | Descripción |
---|---|
NONE
|
Indica que no es obligatorio autenticar el conector. |
OAUTH2 |
Indica que el conector usa OAuth 2.0 como método de autenticación. |
KEY |
Indica que el conector usa la clave de API como método de autenticación. |
USER_PASS
|
Indica que el conector usa un nombre de usuario y una contraseña como método de autenticación. |
USER_TOKEN
|
Indica que el conector usa un nombre de usuario y un token como método de autenticación. |
ConfigType
Los valores de los tipos de elementos de configuración pueden ser uno de los que se indican a continuación:
Valor de enumeración | Descripción |
---|---|
TEXTINPUT |
El elemento de entrada será un cuadro de texto de una sola línea. |
TEXTAREA |
El elemento de entrada será un cuadro textarea de varias líneas. |
SELECT_SINGLE |
El elemento de entrada será un menú desplegable con opciones de selección individual. |
SELECT_MULTIPLE |
El elemento de entrada será un menú desplegable con opciones de selección múltiple. |
CHECKBOX |
El elemento de entrada será una sola casilla que se puede usar para captar valores booleanos. |
INFO |
Cuadro de texto sin formato estático que se puede usar para proporcionar instrucciones o información al usuario. Se podrá hacer clic en los enlaces. |
Operador de filtros
Operador |
---|
EQUALS |
CONTAINS |
REGEXP_PARTIAL_MATCH |
REGEXP_EXACT_MATCH |
IN_LIST |
IS_NULL |
BETWEEN |
NUMERIC_GREATER_THAN |
NUMERIC_GREATER_THAN_OR_EQUAL |
NUMERIC_LESS_THAN |
NUMERIC_LESS_THAN_OR_EQUAL |
EQUALS
El valor de comparación coincide exactamente con el valor de la dimensión.
Cláusula de ejemplo:
{
"operator": "EQUALS",
"type": "INCLUDE",
"values": ["USA"],
"fieldName": "Country"
}
Datos antes de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
California | Montreal |
ROK | Seoul |
Datos después de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
CONTAINS
El valor de comparación está incluido en el valor de la dimensión.
Cláusula de ejemplo:
{
"operator": "CONTAINS",
"type": "INCLUDE",
"values": ["A"],
"fieldName": "COUNTRY"
}
Datos antes de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
California | Montreal |
ROK | Seoul |
Datos después de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
California | Montreal |
REGEXP_PARTIAL_MATCH
El valor de la dimensión contiene la expresión regular.
Cláusula de ejemplo:
{
"operator": "REGEXP_PARTIAL_MATCH",
"type": "INCLUDE",
"values": ["(?i)R[A-Z]*"],
"fieldName": ""
}
Datos antes de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
California | Montreal |
ROK | Seoul |
RU | Moscow |
Datos después de aplicar el filtro:
País | Ciudad |
---|---|
ROK | Seoul |
RU | Moscow |
REGEXP_EXACT_MATCH
El valor de la dimensión coincide con la expresión regular.
Cláusula de ejemplo:
{
"operator": "REGEXP_EXACT_MATCH",
"type": "INCLUDE",
"values": ["^R[A-Z]*K$"],
"fieldName": ""
}
Datos antes de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
California | Montreal |
ROK | Seoul |
RU | Moscow |
Datos después de aplicar el filtro:
País | Ciudad |
---|---|
ROK | Seoul |
IN_LIST
Uno o varios de los valores de comparación coinciden exactamente con el valor de la dimensión.
Cláusula de ejemplo:
{
"operator": "IN_LIST",
"type": "INCLUDE",
"values": ["USA", "CA"],
"fieldName": "Country"
}
Datos antes de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
California | Montreal |
ROK | Seoul |
Datos después de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
California | Montreal |
IS_NULL
Coincide si el valor de la dimensión es nulo.
Cláusula de ejemplo:
{
"operator": "IS_NULL",
"type": "INCLUDE",
"values": [],
"fieldName": "COUNTRY"
}
Datos antes de aplicar el filtro:
País | Ciudad |
---|---|
USA | Seattle |
California | Montreal |
ROK | Seoul |
RU | Moscow |
Terabithia |
Datos después de aplicar el filtro:
País | Ciudad |
---|---|
Terabithia |
BETWEEN
Coincide si el valor de la dimensión está entre los dos valores de prueba.
Cláusula de ejemplo:
{
"operator": "BETWEEN",
"type": "INCLUDE",
"values": ["20190101", "20190131"],
"fieldName": "Date"
}
Datos antes de aplicar el filtro:
País | Fecha |
---|---|
USA | 20190101 |
USA | 20190111 |
USA | 20190201 |
Datos después de aplicar el filtro:
País | Fecha |
---|---|
USA | 20190101 |
USA | 20190111 |
NUMERIC_GREATER_THAN
Coincide si el valor de la dimensión es mayor que el valor de prueba.
Cláusula de ejemplo:
{
"operator": "NUMERIC_GREATER_THAN",
"type": "INCLUDE",
"values": ["20190101"],
"fieldName": "Date"
}
Datos antes de aplicar el filtro:
País | Fecha |
---|---|
USA | 20190101 |
USA | 20190111 |
USA | 20190201 |
Datos después de aplicar el filtro:
País | Fecha |
---|---|
USA | 20190111 |
USA | 20190201 |
NUMERIC_GREATER_THAN_OR_EQUAL
Coincide si el valor de la dimensión es mayor o igual que el valor de prueba.
Cláusula de ejemplo:
{
"operator": "NUMERIC_GREATER_THAN_OR_EQUAL",
"type": "INCLUDE",
"values": ["20190101"],
"fieldName": "Date"
}
Datos antes de aplicar el filtro:
País | Fecha |
---|---|
USA | 20180101 |
USA | 20190101 |
USA | 20190111 |
USA | 20190201 |
Datos después de aplicar el filtro:
País | Fecha |
---|---|
USA | 20190101 |
USA | 20190111 |
USA | 20190201 |
NUMERIC_LESS_THAN
Coincide si el valor de la dimensión es menor o igual que el valor de prueba.
Cláusula de ejemplo:
{
"operator": "NUMERIC_LESS_THAN",
"type": "INCLUDE",
"values": ["20190101"],
"fieldName": "Date"
}
Datos antes de aplicar el filtro:
País | Fecha |
---|---|
USA | 20180101 |
USA | 20190101 |
USA | 20190111 |
USA | 20190201 |
Datos después de aplicar el filtro:
País | Fecha |
---|---|
USA | 20180101 |
NUMERIC_LESS_THAN_OR_EQUAL
Coincide si el valor de la dimensión es menor o igual que el valor de prueba.
Cláusula de ejemplo:
{
"operator": "NUMERIC_LESS_THAN_OR_EQUAL",
"type": "INCLUDE",
"values": ["20190101"],
"fieldName": "Date"
}
Datos antes de aplicar el filtro:
País | Fecha |
---|---|
USA | 20180101 |
USA | 20190101 |
USA | 20190111 |
USA | 20190201 |
Datos después de aplicar el filtro:
País | Fecha |
---|---|
USA | 20180101 |
USA | 20190101 |