Freestyle Skiing — Олимпийские медали
Задача: найти лучшую странуВ этом упражнении мы строим workflow, который отвечает на вопрос: какая страна показала наилучшие результаты во фристайле на Олимпийских играх 2002 и 2006 годов?
Данные: файл All Medals.xlsx, лист Athletes
Оценка: 3 очка за золото, 1.5 — за серебро, 1 — за бронзу
- 1Подключение данных: Input Tool → выбрать All Medals.xlsx (лист Athletes). Сразу добавить Browse + Select после каждого Input.
- 2Фильтр по виду спорта: Filter Tool → Basic Filter → поле Sport = "Freestyle Skiing". Синтаксис: имена полей в квадратных скобках [Sport], строки — в кавычках.
- 3Фильтр по годам: Второй Filter → Custom Filter → формула:
[Year] = "2002" OR [Year] = "2006" - 4Агрегация по стране: Summarize Tool → Group By: Country; Sum: Gold, Silver, Bronze
- 5Расчёт очков: Formula Tool → новое поле Score (тип Double):
3*[Sum_Gold] + 1.5*[Sum_Silver] + [Sum_Bronze] - 6Сортировка: Sort Tool → поле Score по убыванию (Descending)
- 7Топ-1: Sample Tool → Top 1 Record
- 8Очистка: Select Tool → оставить только поле Country
- 9Просмотр результата: Browse Tool → запустить workflow
• После каждого Input ставить Browse + Select
• Browse после каждого инструмента, значительно меняющего структуру данных (Summarize, Transpose, Cross Tab)
• Создавать полностью воспроизводимый результат — не интерпретировать Browse вручную
Транспозиция и экспорт данных
Tidy данные + относительные путиДанные в «широком» формате (Gold, Silver, Bronze — отдельными столбцами) нужно привести в «длинный» (tidy) формат для машинной обработки.
- 1Импорт: Input Tool → All Medals.xlsx → Browse + Select
- 2Transpose: ключевые поля — все кроме Gold, Silver, Bronze. Поля данных — Gold, Silver, Bronze.
- 3Browse после Transpose — обязательно!
- 4Select: переименовать поля Name → «Тип медали», Value → «Количество медалей»
- 5Filter:
[Medal Count] > 0— убрать записи с нулём медалей. Числовые значения без кавычек! - 6Browse + Output: сохранить как Tidy Medal Data.csv с относительным путём
.\Tidy Medal Data.csv
Tidy данные — не очень читаемы для человека, но высокочитаемы для машин. Каждая запись содержит всю необходимую информацию, и есть только один столбец для работы — интерактивный фронтенд работает очень быстро с такими данными.
.\ — текущая папка (где лежит workflow)
..\ — родительская папка
.\Folder Name\ — папка внутри текущей
Используйте относительные пути при совместном использовании Alteryx-файлов.
Исторический подсчёт медалей с Cross Tab
Running Total + Cross TabЗадача: создать таблицу с историческим накопительным подсчётом медалей по странам и годам в «широком» формате.
- 1Импорт + Browse + Select из All Medals.xlsx
- 2Summarize: Group By Country и Year; Sum: Gold, Silver, Bronze
- 3Formula: создать поле Total Medals = Sum_Gold + Sum_Silver + Sum_Bronze
- 4Select: оставить только Country, Year, Total Medals
- 5Sort: по Country и Year по возрастанию — порядок важен для Running Total
- 6Running Total: Group By Country; Running Total на Total Medals → создаст нарастающую сумму, которая сбрасывается при появлении новой страны
- 7Browse — проверить: алфавитный список стран, год растёт, RunTot_Total Medals накапливается
- 8Cross Tab: превратить строки с годами в отдельные столбцы. После — Browse.
- 9Formula × 7: заменить NULL нулями или предыдущим значением. Синтаксис:
IF IsNull([2000]) THEN 0 ELSEIF IsNull([2002]) THEN [2000] ELSE [2002] ENDIF - 10Select: убрать старые разреженные поля, переименовать новые
- 11Browse + Output: сохранить как Historical Medal Count.csv
IF условие THEN результат ELSEIF условие2 THEN результат2 ELSE по_умолчанию ENDIF
Проверка на NULL: IsNull(x)
Объединение медальных и нобелевских данных
Join + Union + Tool ContainersЗадача: объединить данные об олимпийских медалях с данными о лауреатах Нобелевской премии по стране происхождения.
Поток 1 — Медали
- Input: All Medals.xlsx
- Transpose + переименование (Medal Type, Medal Count)
- Filter: Medal Count > 0
- Summarize: Group By Country → Sum Medal Count
- Select: переименовать в «Total Medal Count»
Поток 2 — Нобелевские лауреаты
- Input: Nobel Laureates.csv
- Browse + Select
- Filter: Year >= 2000 (тип Double)
- Summarize: Group By Birth Country → Count
- Sort: алфавитный порядок Birth Country
- Select: переименовать в «Total Nobel Laureates»
- JJoin: Left (Country) → Right (Birth Country). Сохранить оба поля Join — нужны для следующего шага.
- UUnion: объединить все 3 выхода Join (L, J, R). Настройка: Auto Config by Name. Переименовать связи: Left, Join, Right.
- FFormula:
IF IsNull([Country]) THEN [Birth Country] ELSE [Country] ENDIF→ поле Countries - SSelect: Countries в начало, убрать Country и Birth Country
- OOutput: Brains vs. Brawn.csv
При объединении двух потоков используйте Tool Containers для группировки каждого потока. Добавьте Comments с описанием. Свёрнутые контейнеры превращают сложный workflow в две чётко видимые части — «Подготовка медальных данных» и «Подготовка нобелевских данных».
Лучшая практика — давать полезные имена каждой связи, входящей в множественный соединитель. Переименуйте #1, #2, #3 в Left, Join, Right — это значительно упрощает отладку.
Анализ унисекс имён
Imputation + Multi-Field FormulaЗадача: анализ файла Unisex Names.txt — определить тренды в использовании имён для мальчиков и девочек.
- 1Input: файл Unisex Names.txt — tab-деlineated формат
- 2Browse + Select: Alteryx не распознал Female и Male как числовые поля → в Select изменить типы на Double. Year также привести к Double для упрощения фильтров.
- 3Imputation: заменить NULL-значения нулями в числовых полях Female и Male.
- 4Filter: разделить данные на два 10-летних периода для сравнения.
- 5Multi-Field Formula: применить расчёты процентов/долей сразу к нескольким полям одной формулой.
Imputation специально создан для обработки NULL-значений в числовых полях и может автоматически заменять NULL средним или медианным значением — что Formula не умеет делать так же легко.
AND — И
Если оба значения (слева и справа) истинны → True.
Пример: [Sport] = "Freestyle" AND [Year] = "2002"
OR — ИЛИ
Если хотя бы одно из значений истинно → True.
Пример: [Year] = "2002" OR [Year] = "2006"
NOT — НЕ
Инвертирует значение: если True → False, если False → True.
Скобки и порядок операций
Скобки меняют порядок вычислений:[Sport] = "Freestyle" AND ([Year] = "2002" OR [Year] = "2006")
Имена полей — в квадратных скобках: [Field Name]
Строковые значения — в кавычках: "Значение"
Числовые значения — без кавычек: [Medal Count] > 0
Ключевое слово OR и символ || — эквивалентны
Относительные пути
.\— текущая папка..\— родительская папка.\Folder\— подпапка- Рекомендуются при совместном использовании файлов
Абсолютные пути
- Полный путь:
C:\Data\file.xlsx - Ломаются при перемещении workflow
- Не подходят для совместной работы
1. Browse + Select после каждого Input — всегда проверяйте данные при импорте
2. Browse после Summarize, Transpose, Cross Tab, Join, Union — после любого существенного изменения структуры
3. Browse перед каждым Output — убедитесь в правильности данных перед записью
4. Ограничивайте данные как можно раньше — Filter сразу после Select ускоряет обработку и предотвращает ошибки памяти
5. Относительные пути — для всех Output при совместном использовании
6. Tool Containers + Comments — для сложных workflow с несколькими потоками
7. Именуйте связи — особенно при Join (L, J, R вместо #1, #2, #3)
8. Повторяемость результатов — не интерпретируйте Browse вручную, делайте workflow самодостаточным