Мы делаем много вменений, чтобы исправить нулевые значения во время нашего процесса ETL, и есть действительно два способа его выполнения .
Первый способ: инструмент для расчета. Вы можете использовать инструмент «Вменение» в категории «Подготовка». В параметрах инструмента выберите поля, которые вы хотите ввести, нажмите переключатель для «Null» на «Входящее значение для замены», а затем нажмите переключатель «Средний» в разделе «Заменить значение». Преимущества использования инструмента напрямую заключаются в том, что он намного менее сложный, чем другой способ его выполнения. Недостатки: 1) если вы пытаетесь исправить большое количество строк по сравнению с машинной спецификацией, это может быть невероятно медленным (гораздо медленнее, чем следующий), и 2) иногда случаются ошибки, когда мы используем его в нашем процессе без особого объяснения ,
Второй способ: рассчитать средние значения и использовать формулы. Вы также можете использовать инструмент «Summarize» в категории Transform для создания среднего поля для каждого столбца. После создания средних значений используйте инструмент «Добавить» в категории «Присоединиться», чтобы присоединиться к ним обратно в поток. У вас будут одинаковые средние значения для каждой строки в вашей базе данных. В этот момент вы можете использовать инструмент «Формула», как вы пытались в своем вопросе. Например. IF [Возраст] = Null() THEN [Ave_Age] ELSE [Возраст] ENDIF
Второй способ значительно быстрее запускается для чрезвычайно больших наборов данных (например, исправление возможных нулей в нескольких десятках столбцов более 70 миллионов строк) но требуется гораздо больше времени для настройки и должна создаваться для каждого столбца.
Благодарим за помощь! Это сработало отлично, мне пришлось немного поработать, но в конце концов очень полезно. –
Конечно, рад помочь. Если вы отметите это как ответ, это будет мой первый ответ на StackExchange! –