# #csv #database-connection #google-data-studio #connector #data-mapping
Вопрос:
Я разрабатываю коннектор сообщества Google data studio, который импортирует данные csv с Google диска. Он создает поля, но когда я создаю отчет из этих полей, он не показывает никаких данных для визуализации.
Я думаю, что есть какая-то ошибка в сопоставлении данных с полями. Если кто-нибудь может помочь. Я буду благодарен…
function fetchData(name) { if (!name) { sendUserError('Enter file name to connect!'); } var content = importCSVFromGoogleDrive(name); if (!content) { sendUserError('"' name '" returned no content.'); } return content; } function getData(request) { var cont = fetchData(request.configParams.name); var fields = getFields(request, cont); var requestedFieldIds = request.fields.map(function(field) { return field.name; }); var requestedFields = fields.forIds(requestedFieldIds); var buildedFields = fields.build(); var content = ""; for (var i = 1; i lt; cont.length; i ) { for (var j = 0; j lt; cont[i].length; j ) { var value = cont[i][j]; content.concat(value, ","); } content.concat('n') } var requestedFieldsIndex = buildedFields.reduce(function( filtered, field, index ) { if (requestedFieldIds.indexOf(field.name) gt;= 0) { filtered.push(index); } return filtered; }, []); var contentRows = content.split('n'); var valueSeparator = ","; var rows = contentRows .filter(function(contentRow) { // Remove rows that are empty. return contentRow.trim() !== ''; }) .map(function(contentRow, idx) { var allValues = contentRow.split(valueSeparator); if (buildedFields.length !== allValues.length) { sendUserError( 'Error parsing content. Row: ' idx ' has ' allValues.length ' field(s), but ' buildedFields.length ' field(s) were expected.' ); } var requestedValues = allValues.filter(function(value, index) { return requestedFieldsIndex.indexOf(index) gt;= 0; }); return {values: requestedValues}; }); rows = rows.slice(1); var result = { schema: requestedFields.build(), rows: rows }; return result; }