TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
PPC для сверхразумов | Александр Хитро

11 Feb, 11:43

Открыть в Telegram Поделиться Пожаловаться

В каком порядке оптимальнее обрабатывать данные.

Предыдущие посты серии:

1. Документация по промптам.
2. Выбор нейронок.
3. Подготовка к разработке.
4. Оптимизация кода.
5. Если код не "летает".
6. Минимизируем вычисления.
7. Фатальный пример вычислений.


1️⃣ Удаляем ненужные столбцы.

2️⃣ Обрабатываем не исходный массив с разбивкой по датам и другим атрибутам, а в новом запросе ссылаемся на этот массив, получаем список уникальных значений из нужного столбца.

3️⃣ Обрабатываем уникальные значения в новом столбце.

4️⃣ Если эти данные нужны на следующих этапах — объединяем исходный массив с этим запросом по общему полю.

5️⃣ Если эти данные нужны в таком виде в конечной визуализации данных:
а) Выгружаем второй запрос в модель данных.
б) Объединяем две таблицы по ключевому полю в модели данных, т.к. это работает быстрее.

✅ Нет необходимости понимать код. Достаточно понимать, как попросить нейронку:

1. Обратиться к нужным таблицам и столбцам.
2. Какие операции нужно сделать.
3. Что должно получиться в результате.
4. Какие вычисления безопасны: O(1), O(log n), O(n), O(n + m).
5. А какие — смерть для производительности: O(n log n), O(n × m), O(n²), O(nᵏ), O(2ⁿ), O(n!).


✅ Если группировать, фильтровать, сортировать таблицу нужно по списку полей, названия и количество которых могут меняться от проекта к проекту, для возможности использования кода в других проектах, список этих полей нужно получить динамически:

😶 Либо обратившись к умной таблице в Excel, куда вводить вручную эти значения, и передавать их дальше в код просто как название списка (количество элементов в списке и их значения при этом будут не важны).

😶 Либо вычленив общие текстовые паттерны в заголовках этих полей и отфильтровав:
1. Значение: {"Текст"}.
2. Хардкод списка (так делать не нужно): {"Текст1", "Текст2", "Текст3"}.
3. Имя списка, который динамически получает список текстовых значений.

Примеры, как их отфильтровать (список неполный, ибо способов — уйма) по:

— Содержанию: List.Contains
— Отсутствию: not List.Contains
— Началу: Text.StartsWith
— Не началу: not Text.StartsWith
— Окончанию: Text.EndsWith
— Не окончанию: not Text.EndsWith

😶 Либо обратив внимание на расположение в таблице самих полей и если они находятся:

— Или всегда в начале;
— Или всегда в конце;
— Или идут подряд;
— Или стоят до, после или между полями с заведомо известными значениями;

То получить функцией Table.ColumnNames список полей таблицы, а дальше отфильтровать их:

— Взяв N элементов с начала списка: List.FirstN
— Взяв N элементов с конца списка: List.LastN
— Удалив N элементов в конце списка: List.RemoveLastN
— Получив диапазон значений между N и M позициями списка: List.Range
— Пропустив N элементов с начала списка: List.Skip

✅ Преобразуем список уникальных значений:

😶 Удаляем дубликаты, пустоты, null.

😶 В начале следующего запроса буферизуем его: List.Buffer.

В следующем посте — о смерти производительности кода в Power Query.

via @ppc_bigbrain

770 0 5 5
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot