Как разрешить повторяющиеся имена столбцов в файле Excel с Alteryx?
У меня есть широкий файл Excel с ценовыми данными, выглядит так
Product | 2015-08-01 | 2015-09-01 | 2015-09-01 | 2015-10-01
ABC | 13 | 12 | 15 | 14
CDE | 69 | 70 | 71 | 67
FGH | 25 | 25 | 26 | 27
Дата 2015-09-01 может быть найдена дважды, что в контексте является действительным, но, очевидно, портит мой рабочий процесс. Понятно, что первое значение - это минимальная цена, второе - максимальная цена. Если есть только один столбец, min и max совпадают.
Есть ли способ решить эту проблему?
У меня была следующая идея: у меня также есть ячейки, которые содержат значение типа "38 - 42", снова указывающее мин и макс. Я решил это, разделив его на основе выражения Regex. Решением может быть объединение двух столбцов с одинаковым заголовком для последующего разделения значений в соответствии с моими правилами. Это, однако, потребовало бы от меня динамического определения, являются ли заголовки дубликатами.
Это возможно в Alteryx или есть более простое решение этой проблемы?
И, конечно, к сожалению, попросить поставщика файла изменить его, на самом деле не вариант.
Спасибо
РЕДАКТИРОВАТЬ: Просто получил еще одну идею: я перенести таблицу, чтобы иметь формат
Product | Date | Price Low | Price High
Так что, если бы я мог проверить наличие дубликатов в этой таблице и каким-то образом объединить эти записи в одну, это тоже помогло бы.
РЕДАКТИРОВАТЬ 2: Поскольку я, кажется, не сделал этого ясно, мой окончательный результат должен выглядеть как транспонированная таблица в EDIT1. Если есть только одно значение, оно должно перейти в "Низкая цена" (и тогда я, вероятно, в любом случае скопирую его в "Максимальную цену". Если есть два значения, они должны идти в соответствующих столбцах. Предложение Poornima решает проблему с дублированием в более сложная форма, чем "_2" после имени столбца, но не помещает значение в необходимый столбец.
2 ответа
Если этот формат работает для вас:
Product | Date | Price Low | Price High
Затем:
- Транспонировать с продуктом в качестве ключевого поля
- Используйте инструмент выбора, чтобы обрезать ваше поле имени до 10 символов. Это удалит все значения _2, которые Alteryx автоматически переименовал.
- Суммировать:
Группировать по продукту
Группа по имени
Затем примените операции Min и Max к значению.
Результат:
Product | Name | Min_Value | Max_Value
ABC | 2015-08-01 | 13 | 13
ABC | 2015-09-01 | 12 | 15
ABC | 2015-10-01 | 14 | 14
Для этой проблемы вы можете использовать собственный драйвер Excel (.xlsx), доступный в Alteryx 9.1. Если несколько столбцов в Excel используют одну и ту же строку, то они переименовываются собственным драйвером с подчеркиванием в конце, например, 2015-09-01, 2015-09-01_1. Используя это, мы можем переформатировать данные в три этапа:
- Как вы предложили, мы начнем с транспонирования данных, чтобы мы могли использовать заголовки столбцов.
- Затем мы можем написать формулу с помощью инструмента "Формула", который оценивает, является ли заголовок столбца для даты первым или последним на основе длины заголовка.
- Последний шаг - вернуть данные в тот же формат, что и раньше, что можно сделать с помощью Crosstab Tool.
Вы можете просмотреть конфигурации для каждого из этих инструментов здесь. Конечный результат будет следующим.
Надеюсь это поможет.
С Уважением,
Пурнимы