Преобразование размера в группы или диапазоны
В первой части упражнение 2_3 мы выделили с помощью Столбца из примеров как текстовые значения, так и числовые значения размера Size. Но нам необходимо преобразовать и числовые значения в текстовые. Рассмотрим, как это можно сделать с помощью того же Столбца из примеров.
- Для этого загрузим результирующий файл предыдущего упражнения C02E03-Solution.xlsx и включим содержимое.
- Посмотрим есть ли запросы? Данные => Показать запросы. Изменим запрос Products.
- Добавим ещё один Столбец из примеров и назовём его Size—Numbers. Введем в 1, 2, 3 и 7, 21 строки, где стоят текстовые значения значение null, а в любую ячейку с числом это число и Ok. В примененных шагах появится шаг Добавление условного столбца с кодом на языке M => #”Условный столбец добавлен” = Table.AddColumn(#”Inserted Text Between Delimiters”, “Пользовательская”, each if [Size] = “S” then null else if [Size] = “M” then null else if [Size] = “L” then null else if [Size] = “NA” then null else if [Size] = “X” then null else [Size], type text). Если нажат на шестеренку настроек то можно увидеть окно создания значений условного столбца.
- Изменим тип данных столбца на Целое число в меню Преобразование
- Попробуем вначале преобразовать числовые значения в 4 текстовых диапазона S=маленький, M=средний, L=большой, X=очень большой. А для этого сначала создадим новый запрос на основе созданного запроса Products. Выделим этот запрос => Ссылка и дадим запросу имя Numeric–Size–Products. Имя запроса лучше менять через Свойства.
- В новом запросе удалим все строки со значение размера=null. Щёлкните на фильтр справа в столбце Size–Numbers левой клавишей мыши и удалите пустые строки.
- Выделим столбец Size и Добавим Столбец из примеров. Переименуем его в Size Bucket.
- Нам нужно преобразовать значения 70 и выше в X, 60-69 в L. 50-59 в M, 40-49 в S. Введем в строке 1 (70)-X, в строке 2 (60) и 3 (62) – L, в строке 5 (50) – M, в строке 20 (4)- S и Ok.
- Посмотрим результат, выбрав настройку условного столбца. Если что-то не верно то заменим условие на начинается с 7,6,5 и 4 соответственно значения X,M,L,S. В расширенном редакторе #”Условный столбец добавлен” = Table.AddColumn(#”Строки с примененным фильтром”, “Size–Bucket“, each if Text.StartsWith([Size], “7”) then “X” else if Text.StartsWith([Size], “6”) then “L” else if Text.StartsWith([Size], “5”) then “M” else if Text.StartsWith([Size], “4”) then “X” else “L“, type text)