Что учесть перед созданием кода
Что обязательно нужно учесть перед созданием кода:
⚫️ В какие типы объектов преобразовать те или иные данные для ускорения их обработки.
⚫️ Нужна ли сортировка и на каком этапе:
😶 По каким атрибутам: текстовым, числовым.
😶 В каком порядке.
😶 Как получить списки этих полей динамически.
⚫️ На каком этапе получать список уникальных значений:
😶 Удалением дублей в таблице и по каким столбцам: Table.Distinct.
😶 Получением списка и удаления дублей в нём:
List.Distinct(Table1[Column1])
😶 Группировкой таблицы и по каким столбцам: Table.Group.
😶 Как сгруппировать остальные столбцы:
🥷 С текстом: List.Sort, List.Distinct, Text.Combine.
🥷 С числами: List.Max, List.Sum, List.Min.
😶 Что вы собираетесь делать с этими данными дальше.
⚫️ На каком этапе значения null заменить на 0. Потому что нейронка не знает, что вы текущий кусок кода через 10 этапов преобразований будете группирований с суммированием, а суммирование null вернёт ошибку.
⚫️ На каком этапе преобразований и в каком столбце указать какой тип данных.
😶 Если в столбце с числовыми значениями будет ошибочно указан текстовый тип данных, агрегатные функции List.Max, List.Sum, List.Min вернут ошибку.
😶 При сцепке (конкатенации) двух столбцов, в одном из которых тип данных — текст, а в другом — целое число, эта операция вернёт ошибку. Сцеплять можно только текст с текстом.
😶 Оборачивание столбца с числами в функцию Text.From преобразует их в текст для последующих текстовых преобразований.
⚫️ Какие функции не использовать, т.к. они очень дорогостоящие, чем их заменить, чтобы они выполнялись мгновенно.
⚫️ Использовать аналоги векторной обработки (всего столбца сразу как единого массива), а не каждой строки по отдельности.
⚫️ Как отфильтровать исходный массив, чтобы вхолостую не применять тяжёлые операции преобразований к строкам, в которых даже нет искомых данных.
😶 По каким условиям фильтровать.
😶 Как получить этот список условий динамически.
⚫️ Как не перегрузить модель данных нормализацией и снежинкой, чтобы визуальный слой быстро обновлялся.
Что изучать для BI-разработки и работы с данными — в следующем посте.
via @ppc_bigbrain
Предыдущие посты серии:
1. Документация по промптам.
2. Выбор нейронок.
3. Подготовка к разработке.
4. Оптимизация кода.
5. Если код не "летает".
6. Минимизируем вычисления.
7. Фатальный пример вычислений.
8. Порядок обработки данных.
9. Смерть производительности. Часть 1.
10. Смерть производительности. Часть 2.
11. Плохие и хорошие примеры.
12. Когда в PQ сортировать данные.
13. Параметризация переменными.
Что обязательно нужно учесть перед созданием кода:
⚫️ В какие типы объектов преобразовать те или иные данные для ускорения их обработки.
⚫️ Нужна ли сортировка и на каком этапе:
😶 По каким атрибутам: текстовым, числовым.
😶 В каком порядке.
😶 Как получить списки этих полей динамически.
⚫️ На каком этапе получать список уникальных значений:
😶 Удалением дублей в таблице и по каким столбцам: Table.Distinct.
😶 Получением списка и удаления дублей в нём:
List.Distinct(Table1[Column1])
😶 Группировкой таблицы и по каким столбцам: Table.Group.
😶 Как сгруппировать остальные столбцы:
🥷 С текстом: List.Sort, List.Distinct, Text.Combine.
🥷 С числами: List.Max, List.Sum, List.Min.
😶 Что вы собираетесь делать с этими данными дальше.
⚫️ На каком этапе значения null заменить на 0. Потому что нейронка не знает, что вы текущий кусок кода через 10 этапов преобразований будете группирований с суммированием, а суммирование null вернёт ошибку.
⚫️ На каком этапе преобразований и в каком столбце указать какой тип данных.
😶 Если в столбце с числовыми значениями будет ошибочно указан текстовый тип данных, агрегатные функции List.Max, List.Sum, List.Min вернут ошибку.
😶 При сцепке (конкатенации) двух столбцов, в одном из которых тип данных — текст, а в другом — целое число, эта операция вернёт ошибку. Сцеплять можно только текст с текстом.
😶 Оборачивание столбца с числами в функцию Text.From преобразует их в текст для последующих текстовых преобразований.
⚫️ Какие функции не использовать, т.к. они очень дорогостоящие, чем их заменить, чтобы они выполнялись мгновенно.
⚫️ Использовать аналоги векторной обработки (всего столбца сразу как единого массива), а не каждой строки по отдельности.
⚫️ Как отфильтровать исходный массив, чтобы вхолостую не применять тяжёлые операции преобразований к строкам, в которых даже нет искомых данных.
😶 По каким условиям фильтровать.
😶 Как получить этот список условий динамически.
⚫️ Как не перегрузить модель данных нормализацией и снежинкой, чтобы визуальный слой быстро обновлялся.
Что изучать для BI-разработки и работы с данными — в следующем посте.
via @ppc_bigbrain