Страницы: 1
RSS
Если подряд идущих позиций больше чем 2, то разделитель "-", иначе разделитель запятая ",", Можно ли решить задачу с помощью DAX и Power Pivot
 
Здравствуйте уважаемые знатоки языка DAX. Обращаюсь к вам, дабы оценить возможность решения задачи на языке DAX, так как совсем ещё новичок. Сразу оговорюсь, что данная задача у меня решена на VBA, но это определенного рода костыль.
И так краткая суть задачи. Есть таблица в которой есть столбцы Префикс Семейство П_N(порядковый номер) Суффикс. Эти столбцы дают мне позиционное обозначение. Есть также столбец Описание. По этому столбцу строиться сводная таблица, и он содержит в себе позиционные обозначения. Например получаем набор SF1, SF2, SF3, SF5, SF6, SF8. Я хочу получить на основе позиций текстовую строку такого плана SF1-SF3, SF5, SF6, SF8, и эта строка должна отображаться напротив моего описания, то есть быть в области значений, значит это должна быть мера.
Есть определённое правило как строиться эта строка - если подряд идущих позиций больше чем 2, то разделитель "-", иначе разделитель запятая ","

Это было краткое пояснение задачи. Теперь я хочу поделиться мыслями как это можно реализовать, то есть алгоритм

На языке DAX группирую по полю Описание, далее по полю Семейство, далее по полю Префикс, далее по полю Суффикс. Таким образом, получил ряд таблиц (думаю это делается через функцию GENERATE) с порядковыми номерами.
Таблицы сортируются по возрастанию.
Каждой таблице добавляется столбец индекс, который начинается с 1. И добавляется столбец, который вычисляется как П_N - Индекс. Таким образом можно разделить таблицы с номерами на группы, которые объединяют подряд идущие номера. Из каждой группы берётся первый и последний номер. Перед номером ставятся Семейство & Префикс, после номера Суффикс. Далее идёт разделитель, если количество номеров в группе более 2, то разделитель межу позициями "-", иначе ", ". Между группами разделитель ", ". А между разными Семействами Префиксами и Суффиксами "; "

Понимаю, что читать это сложно, поэтому прикладываю файл, где визуально показал, что откуда берётся и как соединяется.

 
Изменено: Machestro - 29.04.2019 21:05:08
 
Проверил я свой алгоритм на Power Query, и он работает. С Power Query немного проще работать, так как я вижу промежуточные результаты и таблицы. Но нужно именно в сводной таблице это реализовать, так как будут различные фильтры применяться, и нужно динамическое изменение.
Изменено: Machestro - 27.04.2019 19:37:11
Страницы: 1
Наверх