Объединение двух наборов данных для добавления значений по умолчанию для отсутствующих данных - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь объединить два набора данных, чтобы вставить строки по умолчанию для отсутствующих данных. Сценарий использования состоит в том, что у меня есть список дат и номеров посещаемости для тренировочных сессий в эти даты, но если у меня нет вообще никаких записей для учебной сессии, то он отсутствует в списке.

На моем листе в настоящий момент у меня есть набор из двух столбцов дат и номеров посещаемости, а на другом листе я проработал все среды и пятницы (дни обучения) между датами начала и окончания всех наших сессий. данные для.

Есть ли способ объединить два набора данных так, чтобы нулевая посещаемость для каждого сеанса была базовым набором, а затем я объединял бы строки, для которых у меня есть данные? Я пытался использовать некоторые команды запроса, но если я укажу два набора данных, используя {Sheet1! A1: A, Sheet2! B1: B}, я получу ошибки массива.

Информация о посещаемости в настоящее время собирается с помощью запроса:

=QUERY({Records!A2:B}, "SELECT Col1, COUNT(Col2) WHERE (Col1 IS NOT NULL) GROUP BY Col1 ORDER BY Col1 ASC LABEL Col1 'Session Date', COUNT(Col2) 'Skaters'"), где листы записей - это просто дата и имена.

Если я обновлю его для чтения из двух наборов данных (=QUERY({Records!A2:B, Scratch!B2:B}, "SELECT Col1, COUNT(Col2) WHERE (Col1 IS NOT NULL) GROUP BY Col1 ORDER BY Col1 ASC LABEL Col1 'Session Date', COUNT(Col2) 'Skaters'"), тогда я получу ошибку REF Function ARRAY_ROW parameter 2 has mismatched row size. Expected: 982. Actual: 999. Кажется справедливым, так как он создан с выровненным набором данных, а не объединяется на основе столбца даты.

Я, вероятно, отношусь к электронной таблице слишком сильно, как к базе данных, и, хотя мне было бы удобнее заглянуть в редактор сценариев, чтобы решить эту проблему, я пытаюсь изучить несколько методов электронных таблиц.

Данные

Записи выглядят так:

| 2018-05-04 | Bob | | 2018-05-04 | Fred | | 2018-05-12 | Bob |

Так что никто не посещал 9-го числа, и поэтому статистика искажается, поскольку Боб получает вводящий в заблуждение 100% -й рекорд посещаемости.

1 Ответ

0 голосов
/ 09 декабря 2018

Я не понимаю подробностей того, что вы пытаетесь сделать, но, поскольку кажется, что объединение одного списка только дат и по крайней мере двух списков дат и имен предлагает следующий пример:

SO50269101 example

Формула:

=ArrayFormula(query({Sheet1!B1:C20;Sheet2!E1:F20;Sheet3!I1:J20},"select * where Col2 is not NULL order by Col1 "))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...