Сбой типа данных DURATION для пользовательского коннектора Google Data Studio - PullRequest
0 голосов
/ 03 мая 2020

Я работаю над пользовательским соединителем для Google Datastudio, который подключается к определенной c службе API, следуя документации Google Data Studio Community и очень хорошей статье о Создание пользовательские Google Data Studio .

Работает аутентификация через API-ключ. Обработка схемы данных и полей данных тоже работает нормально. И я получаю и отображаю данные.

Одной из оставшихся проблем является преобразование типов данных. Мои исходные данные поставляются с полем для продолжительности в минутах. Google предлагает тип данных для продолжительности, который дается в секундах. Поэтому я конвертирую минуты в секунды.

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

  fields.newDimension().setId('id').setName('ID').setType(types.NUMBER);
  fields.newDimension().setId('date').setName('Date').setType(types.YEAR_MONTH_DAY);
  fields.newDimension().setId('user_id').setName('User ID').setType(types.NUMBER);
  fields.newDimension().setId('user').setName('User').setType(types.TEXT);

  //fields.newMetric().setId('time').setName('Time').setType(types.DURATION).setAggregation(aggregations.SUM);
  fields.newMetric().setId('time').setName('Time').setType(types.NUMBER).setAggregation(aggregations.SUM);
  fields.newMetric().setId('revenue').setName('Revenue').setType(types.CURRENCY_EUR).setAggregation(aggregations.SUM);

  fields.setDefaultDimension('user');
  fields.setDefaultMetric('time');

  return fields;
}

Документация о типах данных , в которой продолжительность указана в секундах. Итак, исходные данные имеют 180 минут, которые преобразуются в 10.800se c. Если я верну эти данные как NUMBER, тогда они будут показаны правильно. Если я затем переключу тип данных в пользовательском интерфейсе на длительность, он автоматически преобразуется и отображается как 03:00:00 (три часа = 180 минут = 10,800 с c). Но когда я возвращаю исходные данные как DURATION, соединение не будет работать, и пользовательский интерфейс не будет работать.

Любая идея, как правильно преобразовать и установить данные для типа DURATION?

...