Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Выпадающий список на основе текста с разделителем
 
Здравствуйте! Возник следующий вопрос. Допустим в ячейке есть текст типа 1;2;3;4. Необходимо сделать в соседней ячейке выпадающий список на основе этих данных (1;2;3;4). Знаю что в Data Validation как раз в таком виде записывается список, но если просто сослаться на эту ячейку, то в выпадающем списке будет вся строка с разделителями.
Выше я указал лишь пример. На практике будет "умная" таблица (ListObject) со столбцом, где в каждой ячейке будет текстовая строка  с разделителями и данные будут разные. В соседней ячейке нужно будет выбрать одно значение из текста с разделителем.
С помощью формул и дополнительного столбца (номер элемента из списка) у меня получилось вычленять нужные значения. Но хотелось сделать через выпадающий список если такое и возможно.
Использую Excel 2016
Количество элементов в группе
 
Здравствуйте, уважаемые знатоки языка DAX. Пытаюсь решить вроде простую задачу, но совсем запутался в контекстах языка DAX. Есть таблица с двумя колонками Группа и Подгруппа. Необходимо создать меру, которая всегда будет показывать актуальное количество элементов в группе, то есть с учетом фильтров. В приложенном файле показано наглядно, что необходимо получить.
Скрытый текст
Публикация модели Power Pivot на сервере, Публикация модели Power Pivot + Power Query на сервере
 
Недавно я узнал, что можно опубликовать модель Power Pivot (далее PP), созданную в Excel на аналитическом сервере. А потом из любой книги excel подключаться к данной модели как аналитическому Кубу. Изначальная структура была такой - есть SQL сервер с базой данных. Потом подключались из PP к этой БД и создавали модель. Далее созданную модель переносили на тот же сервер (только уже аналитический сервер). Затем из любой книги подключались к этой модели как к аналитическому кубу. В результате все вычисления происходили на сервере, а конечный пользователь получал обычную сводную таблицу, разгружая свой ПК от вычислений.
Но в эту цепь я хочу добавить Power Query (Далее PQ). Цепочка будет такой:
1. Из PQ подключаюсь к  SQL БД и произвожу необходимые преобразования таблиц
2. Запрос PQ будет источником информации для модели PP.
3. Публикую модель PP на сервер.
4. Подключаюсь к модели PP из любой книги

Вопрос: как будет обновляться модель PP (её данные)  если источником для неё является не БД SQL, а запрос PQ, который основан на БД SQL.

P.S:.Я не ищу ответа как это сделать, а интересует возможно ли это. И ещё я полный дилетант в серверах и базах данных
Разделение столбца по каждому второму разделителю
 
Здравствуйте, уважаемые знатоки Power Query и я зыка M. Возникла задача, с которой пока не знаю как справиться, прошу вашей помощи. Имею столбец с текстовой строкой в которой есть разделители (допустим это символ "|"). Необходимо разделить данный текст на строки по каждому Второму разделителю.
Например была строка:
TEG1|Data 1|TEG2|Data 2|TEG3|Data 3
Хочу получить:
TEG1|Data 1
TEG2|Data 2
TEG3|Data 3.
Сначала надеялся, что есть готовая функция в разделе Splitter Functions, но её нет. Затем пришла в голову мысль превратить текст в список, а из него сделать список, который бы содержал положение всех моих разделителей ("|"). Затем убрать каждый чётный элемент, и разделить исходный текст по позиции. Но беда в том, что я не знаю как создать список, который содержит позиции Всех моих разделителей. Функции типа List.PositionOf не подходят, так как возвращают положение первого вхождения.
В приложенном файле есть исходная таблица, и желаемый результат
Изменено: Machestro - 31 май 2019 08:07:59
Если подряд идущих позиций больше чем 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 апр 2019 21:05:08
Table.TransformColumns и вложенная таблица
 
Здравствуйте, уважаемые знатоки Excel и Power Query. Возникла задача, решение которой я никак не могу найти. В приложенном файле есть таблица на листе "Контакты", она формируется из нескольких запросов. Последний столбец (если смотреть в Power Query) содержит эту же таблицу с листа "Контакты". Мне нужно модифицировать столбцы "Описание_1", "Описание_2", "Цвет" по условию если значения этих столбцов во вложенной таблице не равно null, тогда установить значения в исходной (не во вложенной) таблице равное значению из вложенной таблице, иначе оставить как есть. Это позволит мне менять значения вручную, а если его нет, то будет значение по умолчанию, или нулевое значение.
В принципе, я могу эту задачу решить, через развертывания вложенной таблицы, создания условных столбцов, удаления лишних и.т.д. Но это как-то не оптимально.
Я понимаю, что задачу, наверное можно решить через Table.TransformColumns, но со всем запутался с синтаксисом, да и мозг ещё не привык к функциональному программированию. Прошу вас, натолкните на правильные мысли.
Достать данные куба из Power Pivot с помощью VBA
 
Здравствуйте! Возникла следующая задача. Есть простая умная таблица данных. Она загружена в модель данных PP. В PP создана мера, которая поваляет в значениях выводить текст. Сводной таблицы в книге нет и не должно быть. С помощью семейства формул КУБ() я могу добраться к данным по значению индекса и выгрузить их на лист. Однако в VBA нет подобных формул. Можно ли добраться к данным с помощью VBA .
Зачем мне всё это. Исходная таблица не будет на листе, а будет Power Query и будет загружаться только в модель данных, но не на лист. В столбце дата будет текст с длиной строки более 32768, поэтому выгружать на лист нельзя. Идея такая, что если получиться достучаться до PP минуя выгрузку на лист и взять данные в переменную VBA. Очень прошу помощи, если такое вообще возможно.
PS. я совсем новичок в кубах, и узнал о их существовании только вчера.
Изменено: Machestro - 1 апр 2019 10:16:11
Как в Power Query к данным добавить префикс
 
Здравствуйте, уважаемые знатоки Excel! Пытаюсь решить следующую задачу. Необходимо всем данным во всех столбцах добавить префикс, который равен названию столбца. Как добавлять одинаковый префикс всем столбцам я разобрался, а вот чтобы имя столбца, что-то не выходит. В приложенном файле, для понимания просто созданы две таблицы без запросов- источник и какой результат хотелось бы увидеть.
Нумерация строк в умной таблице с фиксацией
 
Здравствуйте. Пытаюсь решить следующую задачу: есть умная таблица, и нужно каждой строке добавлять индексы. Значение индекса должно сохраняться для строки, то есть, если мы сортируем, фильтруем или удаляем строки из таблицы - индекс должен иметь тоже значение, что и раньше. Соответственно, если добавилась новая строка в таблице, то поставиться индекс, больший на 1, чем уже есть в этой колонке.
Хотелось бы решить эту задачу пока без VBA. Подскажите такое возможно, или лучше сразу на VBA решать задачу?
Добавление данных в пустой столбец PowerQuery, Добавление данных в пустой столбец PowerQuery
 
Уважаемые знатоки, очень прошу вашей помощи. Есть три "умные" таблицы.
"Данные" - содержит описание электрических приборов, где явно указан тип прибора и его позиция.
"Карта_Контактов" - У каждого Типа прибора есть свой набор контактов, они постоянны. (Это своего рода БД, и по идее будет в другом файле, но это  сейчас не важно)
"Контакты_в_Проекте" - таблица, полученная путём объединения первых двух таблиц через PowerQuery (далее PQ) по полю Тип. Таким образом, для каждого элемента (для каждой Позиции) в проекте я получил список его контактов. Проблема заключается в поле провод. Изначально это поле пустое. Во время работы с проектом туда вручную будут добавляться номера проводов. При обновлении таблицы столбец Провод обнуляется. Можно ли как-то сделать, чтобы этот столбец заносился в запрос "Контакты_в_Проекте" перед его обновлением?

Так же я пробовал не добавлять столбец Провод в таблицу "Карта_Контактов". А добавлял этот столбец сразу к таблице "Контакты_в_Проекте", но не через PQ, а "вручную". Таким образом этот столбец не обнулялся. Но при добавление нового элемента в таблицу "Данные", или изменение типа существующего элемента, "провода", забитые вручную не соответствовали своим позициям. Можно ли как-то выйти из этой ситуации?
Последовательность чисел с троеточием
 
Добрый день! Возможно такое уже спрашивалось, и я более чем уверен, что существуют решение, но я понятия не имею какой должен быть поисковый запрос чтобы найти ответ.
Задача следующая. Есть ячейки со своим числом. Например, такая последовательность: 1, 2, 3, 4, 10, 15,16, 17, 18, 22, 23 (Все эти числа в отдельных ячейках). Необходимо объединить все эти числа в одну общую ячейку, чтобы выглядело так: 1...4; 10; 15...16; 22; 23 (Это строка должна храниться в одной ячейке). Условия получаются следующие: если числа идут по порядку и их больше двух (1, 2, 3, 4) то нужно отобразить наименьшее число + троеточие + наибольшее число. Если следующее число больше чем на единицу предыдущего, что они отделяются точкой с запятой. Если числа идут по порядку, но их всего два, то тоже разделение ;

Конечная цель - создание перечня элементов для электрических схем. Возможно у такой сортировки есть какое-то умное название и уже реализован алгоритм.
Цель - понять и реализовать алгоритм, или найти готовый.
Изменено: Machestro - 14 окт 2016 13:06:41
Страницы: 1
Наверх