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

Страницы: 1 2 След.
Table.TransformColumns и вложенная таблица
 
Андрей Лящук, Ваше решение работает как надо, благодарю вас за отклик. Выглядит, это конечно страшно, но главное работает. Буду разбираться, что к чему
Table.TransformColumns и вложенная таблица
 
Задам вопрос по другому. Вот есть формула, которая не разворачивая вложенную таблицу, делает то, что нужно.
Код
Table.ReplaceValue(#"Объединенные запросы1",each [Цвет],each if [#"Контакты"][Цвет]{0} <> null then [#"Контакты"][Цвет]{0} else [Цвет],Replacer.ReplaceValue,{"Цвет"})

Как можно применить данную строку, к интересующим меня столбцам?

Изменено: Machestro - 6 Апр 2019 17:30:43
Table.TransformColumns и вложенная таблица
 
Цитата
Андрей Лящук написал:
Во вложенной таблице всегда одна строка?
Да
Table.TransformColumns и вложенная таблица
 
Здравствуйте, уважаемые знатоки Excel и Power Query. Возникла задача, решение которой я никак не могу найти. В приложенном файле есть таблица на листе "Контакты", она формируется из нескольких запросов. Последний столбец (если смотреть в Power Query) содержит эту же таблицу с листа "Контакты". Мне нужно модифицировать столбцы "Описание_1", "Описание_2", "Цвет" по условию если значения этих столбцов во вложенной таблице не равно null, тогда установить значения в исходной (не во вложенной) таблице равное значению из вложенной таблице, иначе оставить как есть. Это позволит мне менять значения вручную, а если его нет, то будет значение по умолчанию, или нулевое значение.
В принципе, я могу эту задачу решить, через развертывания вложенной таблицы, создания условных столбцов, удаления лишних и.т.д. Но это как-то не оптимально.
Я понимаю, что задачу, наверное можно решить через Table.TransformColumns, но со всем запутался с синтаксисом, да и мозг ещё не привык к функциональному программированию. Прошу вас, натолкните на правильные мысли.
Достать данные куба из Power Pivot с помощью VBA
 
Вообщем попробовал я с длиной текста, и разочаровался. Оказывается для мер есть ограничении - не более 255 символов. Но я нашёл способ как обратится к ячейке с данными (не меру). Но работает всё как-то криво, через раз так сказать. То возвращает error, то не обновляются данные. Вообщем это не вариант.
Достать данные куба из Power Pivot с помощью VBA
 
Цитата
Максим Зеленский написал:
Evaluate("CUBEVALUE.....")
Эта формула сработала, благодарю! Теперь осталось проверить свою теорию на длину символов. Как проверю отпишусь здесь
Достать данные куба из Power Pivot с помощью VBA
 
Здравствуйте! Возникла следующая задача. Есть простая умная таблица данных. Она загружена в модель данных PP. В PP создана мера, которая поваляет в значениях выводить текст. Сводной таблицы в книге нет и не должно быть. С помощью семейства формул КУБ() я могу добраться к данным по значению индекса и выгрузить их на лист. Однако в VBA нет подобных формул. Можно ли добраться к данным с помощью VBA .
Зачем мне всё это. Исходная таблица не будет на листе, а будет Power Query и будет загружаться только в модель данных, но не на лист. В столбце дата будет текст с длиной строки более 32768, поэтому выгружать на лист нельзя. Идея такая, что если получиться достучаться до PP минуя выгрузку на лист и взять данные в переменную VBA. Очень прошу помощи, если такое вообще возможно.
PS. я совсем новичок в кубах, и узнал о их существовании только вчера.
Изменено: Machestro - 1 Апр 2019 10:16:11
Как в Power Query к данным добавить префикс
 
Нашёл причину. Нужно было в свойствах самой умной таблицы поставить галочку "сохранять сведения о сортировке...". После этого стало работать как надо
Как в Power Query к данным добавить префикс
 
Цитата
Machestro написал:
появится пустые столбцы Столбец1 , Столбец2...
Хотя сейчас проверил, предыдущие решения, то происходит тоже самое. Оказывается так происходит на версии Excel 2016, а вчера всё тестировал на версии 2019
Изменено: Machestro - 29 Мар 2019 06:00:40
Как в Power Query к данным добавить префикс
 
Андрей VG, Ваше решение выглядит очень лаконично, что хорошо. Однако если удалить из исходной таблицы некоторые столбцы, то на их месте в запросе появится пустые столбцы Столбец1 , Столбец2...
Как в Power Query к данным добавить префикс
 
Проверил с 1000000 строк. Разница если и  есть, то незначительная. Делал все на глаз без макросов. Ваш код, вроде чуть быстрее
Изменено: Machestro - 28 Мар 2019 14:25:45
Как в Power Query к данным добавить префикс
 
Цитата
PooHkrd написал:
List.Buffer и шаг КоличествоСтолбцов добавлены для оптимизации скорости
Оно как. О таких тонкостях я не знал!
Как в Power Query к данным добавить префикс
 
PooHkrd, чуть подправил ваш код, чтобы запрос не зависел от количества столбцов и их названия.
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Заголовки = Table.ColumnNames(Источник),
    ВсеВТекст = Table.TransformColumnTypes(Источник,List.Transform(Заголовки, each {_, type text})),
    ДобавленныйПрефикс = (t,i) => 
        if i <= List.Count(Заголовки) - 1
            then @ДобавленныйПрефикс( Table.TransformColumns( t, {{Заголовки{i}, each Заголовки{i} & " = " & _, type text}}), i + 1)
            else t,
    Итог = ДобавленныйПрефикс(ВсеВТекст, 0)
in
    Итог
Как в Power Query к данным добавить префикс
 
Цитата
PooHkrd написал:
Но я бы все таки предложил поменять тему на
Я не против. Я могу это сделать сам, или это должен сделать администратор?  
Как в Power Query к данным добавить префикс
 
Цитата
PooHkrd написал:
Вот такой вариант:
Это отличный вариант, всё работает как надо. Благодарю!
Как в Power Query к данным добавить префикс
 
Здравствуйте, уважаемые знатоки Excel! Пытаюсь решить следующую задачу. Необходимо всем данным во всех столбцах добавить префикс, который равен названию столбца. Как добавлять одинаковый префикс всем столбцам я разобрался, а вот чтобы имя столбца, что-то не выходит. В приложенном файле, для понимания просто созданы две таблицы без запросов- источник и какой результат хотелось бы увидеть.
Нумерация строк в умной таблице с фиксацией
 
PooHkrd, Здорово, работает. Но теперь возник другой вопрос, а как вы заставили PQ, чтобы он изменил сам источник, а не вставил новую таблицу?
Нумерация строк в умной таблице с фиксацией
 
Нужно просмотреть все индексы в колонке, найти максимальный и прибавить единицу. У каждой строки должен быть свой уникальный индекс, и не важно, что значения у строк одинаковые
Нумерация строк в умной таблице с фиксацией
 
В моем примере ключ не показателен, значения могут повторяться. Индекс и планировался как ключ
Изменено: Machestro - 13 Мар 2019 09:18:39
Нумерация строк в умной таблице с фиксацией
 
Вот мой пример
Нумерация строк в умной таблице с фиксацией
 
Здравствуйте. Пытаюсь решить следующую задачу: есть умная таблица, и нужно каждой строке добавлять индексы. Значение индекса должно сохраняться для строки, то есть, если мы сортируем, фильтруем или удаляем строки из таблицы - индекс должен иметь тоже значение, что и раньше. Соответственно, если добавилась новая строка в таблице, то поставиться индекс, больший на 1, чем уже есть в этой колонке.
Хотелось бы решить эту задачу пока без VBA. Подскажите такое возможно, или лучше сразу на VBA решать задачу?
Добавление данных в пустой столбец PowerQuery, Добавление данных в пустой столбец PowerQuery
 
Вот и обещанное решение. Важно отметить, что теперь нельзя нажимать кнопку "Обновить всё!", которая расположена на ленте, а то всё поломается.
Ещё один нюанс, в макросе не реализованы разные проверки на наличие нужной таблицы, соответствие полей и т.д. Просто показан принцип работы
Добавление данных в пустой столбец PowerQuery, Добавление данных в пустой столбец PowerQuery
 
Цитата
artyrH написал:
нам покажете
Обязательно, только приведу всё это к нормальному виду
Добавление данных в пустой столбец PowerQuery, Добавление данных в пустой столбец PowerQuery
 
Anton555, Благодарю за ваш отклик на мою проблему, но это тоже не совсем то. Когда у позиции меняю тип в таблице данные (Тип 1 на Тип 4) на тип у которого больше контактов, чес было изначально, то ваше предложение не сработало.

Для себя реши проблему следующим образом. Убрал Столбец "Провод" из таблицы "Карта_Контактов". Создал новую таблицу с полями "Позиция", "Контакт", "Провод" (эта таблица будет на скрытом листе). Объединил запросы "Контакты_в_Проекте" и новую таблицу по полям "Позиция", "Контакт", таким образом, получил таблицу "Контакты_в_Проекте" со столбцом Провод, который ссылается на новую таблицу. Теперь заполняю провода вручную и запускаю макрос. Макрос перед обновлением скопирует столбцы "Позиция", "Контакт", "Провод"  из таблицы "Контакты_в_Проекте" и далее запустит обновление, таким образом, всё, что я забил руками в столбец провод будет внедрятся в таблицу "Контакты_в_Проекте", согласно позициям
Добавление данных в пустой столбец PowerQuery, Добавление данных в пустой столбец PowerQuery
 
Не сработало, если второй раз обновить данные, то столбцы обнуляются
Добавление данных в пустой столбец PowerQuery, Добавление данных в пустой столбец PowerQuery
 
Появилась идея. Отловить макросом VBA событие обновление. Перед самим обновлением скопировать данные из столбца Провод, и затем макросом обновить запрос, заменив в запросе данные на скопированные.
Может ли такой трюк прокатить?
Добавление данных в пустой столбец PowerQuery, Добавление данных в пустой столбец PowerQuery
 
Уважаемые знатоки, очень прошу вашей помощи. Есть три "умные" таблицы.
"Данные" - содержит описание электрических приборов, где явно указан тип прибора и его позиция.
"Карта_Контактов" - У каждого Типа прибора есть свой набор контактов, они постоянны. (Это своего рода БД, и по идее будет в другом файле, но это  сейчас не важно)
"Контакты_в_Проекте" - таблица, полученная путём объединения первых двух таблиц через PowerQuery (далее PQ) по полю Тип. Таким образом, для каждого элемента (для каждой Позиции) в проекте я получил список его контактов. Проблема заключается в поле провод. Изначально это поле пустое. Во время работы с проектом туда вручную будут добавляться номера проводов. При обновлении таблицы столбец Провод обнуляется. Можно ли как-то сделать, чтобы этот столбец заносился в запрос "Контакты_в_Проекте" перед его обновлением?

Так же я пробовал не добавлять столбец Провод в таблицу "Карта_Контактов". А добавлял этот столбец сразу к таблице "Контакты_в_Проекте", но не через PQ, а "вручную". Таким образом этот столбец не обнулялся. Но при добавление нового элемента в таблицу "Данные", или изменение типа существующего элемента, "провода", забитые вручную не соответствовали своим позициям. Можно ли как-то выйти из этой ситуации?
Последовательность чисел с троеточием
 
Владимир, огромное спасибо! Буду разбираться

vikttur, Прошу прощения, если обидел. Согласен, что это выглядело нагло с моей стороны
Последовательность чисел с троеточием
 
Цитата
vikttur написал: Проход циклом по массиву:
Цикл имеется ввиду VBA? или есть формула
Последовательность чисел с троеточием
 
Просьба тоже есть. Когда есть файл с формулами легче понять. Буду премного благодарен
Страницы: 1 2 След.
Наверх