По какой причине Data Studio не может подключиться к моему источнику данных при добавлении определенного измерения? - PullRequest
0 голосов
/ 27 марта 2019

В настоящее время я пытаюсь подключиться к источнику данных, который содержит данные формы.Некоторые из полей являются необязательными, например _vfb_field-1048, который является страной.Когда я помещаю все, кроме необязательных полей, таких как _vfb_field-1048, это прекрасно работает.Когда я добавляю эти измерения, он говорит мне:

Data Studio не может подключиться к вашему набору данных.Не удалось получить данные из базового набора данных. Идентификатор ошибки: 929212f4

Есть идеи, что мне нужно сделать, чтобы отобразить данные?

Примеры данных (не полных данных, поэтомуне возражайте против форматирования):

meta: {_vfb_field-1045: «Джон», _vfb_field-1069: «15551234567», _vfb_field-1046: «Доу», _vfb_field-1047: «email@example.com»", _vfb_field-1048:" Соединенные Штаты ", _vfb_field-1049:" Онлайн ", _vfb_form_id:" 72 ", _vfb_entry_id:" 13560 "}

meta: {_vfb_field-1045:" Джон ", _vfb_field-1069: "15551234567", _vfb_field-1046: "Доу", _vfb_field-1047: "email@example.com", _vfb_field-1048: "", _vfb_field-1049: "Онлайн", _vfb_form_id: "72", _vfb_entry_id: "13561 "} Empty Data With Data in it

function getFields() {
  var cc = DataStudioApp.createCommunityConnector();
  var fields = cc.getFields();
  var types = cc.FieldType;
  var aggregations = cc.AggregationType;

  fields.newDimension()
      .setId('slug')
      .setName('Slug')
      .setType(types.TEXT);

  fields.newDimension()
      .setId('country')
      .setName('Country')
      .setType(types.TEXT);

  fields.newDimension()
      .setId('form')
      .setName('Form')
      .setType(types.TEXT);


  fields.newMetric()
      .setId('id')
      .setName('ID')
      .setType(types.NUMBER)
      .setAggregation(aggregations.SUM);

  return fields;
}
function getSchema(request) {
  var fields = getFields().build();
  return {'schema': fields};
}

function responseToRows(requestedFields, response) {
  // Transform parsed data and filter for requested fields
  return response.map(function(dailyDownload) {
    var row = [];
    requestedFields.asArray().forEach(function(field) {
      switch (field.getId()) {
        case 'slug':
          return row.push(dailyDownload.slug);
        case 'country':
          return row.push(dailyDownload.meta._vfb_field-1048);
        case 'id':
          return row.push(dailyDownload.id);
        case 'form':
          return row.push(dailyDownload.meta._vfb_form_id);  
        default:
          return row.push('');
      }
    });
    return {values: row};
  });
} 

...