Мне необходимо получить в powerbi количество незаполненных ячеек в ряду. Используя PQ, можно ли это сделать? То есть получить столбец, где будет видно кол-во пустых строк или заполненных. Пример диапазона во вложении. В результате в PQ получить бы столбец F всего ячеек. G заполненных. F пустых
Спасибо! Просто с PQ все получилось, но когда я открыл этот запрос в power bi (отправил его на изменение, открылось окно PQ), то Ваша формула выдала ошибку. Я так догадываюсь это произошло от того, что не было "Таблица1" ? Ведь там я в экселе сам назвал мой диапазон Таблица1, превратив его в умную таблицу Дополню! Когда я "разворачиваю" столбцы, то у меня, получается, моя таблица дублируется. С этим можно что-то сделать? Или просто в запросе удалить лишние столбцы и не обращать внимания?
extrafant написал: Я так догадываюсь это произошло от того, что не было "Таблица1"
Правильно догадываетесь. В шаге Источник, вам нужно изменить способ получения таблицы. Я же не знаю откуда вы её в PBI тянете.
Цитата
extrafant написал: Когда я "разворачиваю" столбцы, то у меня, получается, моя таблица дублируется.
В вашей задаче нигде про разворачивание столбцов нет, как и в моем решении. Если это отдельный вопрос, то по правилам форума необходимо создать отдельную тему с названием отображающим суть проблемы.
Пусть таблица "Диапазон.xlsx" лежит в любой папке. Условно рабочем столе. Когда я использую предложенный Вами код, то в результате получается следующее (картинка во вложении). Однако, я ожидал, что просто добавится нужный подсчет
Я так думаю, может я путь не тот указываю. Пробовал номер удалить. На фамилию стало ругаться. Вот такой запрос:
Код
let
Source = Excel.Workbook(File.Contents("E:\extra\Загрузки\Отчет.xlsx"), null, true),
Navigation = Source{[Item="Отчет Заполнение личной карточк",Kind="Sheet"]}[Data],
RemovedTopRows = Table.Skip(Navigation,6),
RemovedBottomRows = Table.RemoveLastN(RemovedTopRows,3),
PromotedHeaders = Table.PromoteHeaders(RemovedBottomRows, [PromoteAllScalars=true]),
ChangedType = Table.TransformColumnTypes(PromotedHeaders,{{"№ п/п", Int64.Type}, {"Фамилия", type text}, {"Имя", type text}, {"Отчество", type text}, {"Пол", type text}}),
AddedCustom = Table.AddColumn(ChangedType, "Всего ячеек", each List.Count(Record.ToList(_))),
AddedCustom1 = Table.AddColumn(AddedCustom, "Незаполненных ячеек", each [Всего ячеек] + 1 - List.NonNullCount(Record.ToList(_)))
in
AddedCustom1
При этом книга отчет лежит E:\extra\Загрузки В книге отчет есть лист Отчет Заполнение личной карточк Не понимаю, почему ошибка. А у остальных работает этот запрос?
extrafant, может причина в том что таблицы в файлах Диапазон.xlsx и Отчет2.xlsx разные. попробуйте,опять же на худой конец, удалить в запросе шаг ChangedType
Запрос сработал! Единственное, я завтра попробую вместо url адреса запрос сделаю из папки, поменяв source Но, надеюсь, что проблем не возникнет! Как сделаю, отпишусь! Но я почти уверен, что должно же оно сработать!
Итак мои шаги 1. я сохраняю в папку загрузки книгу отчет (получаю исходник) 2. создаю новую книгу. В будущем я в нее будут получать данные 3. Нажимаю получить данные из excel 4. Добавляю настраиваемый столбец и вставляю код, который мне подсказали использовать. Вопрос, на что поменять source при том, как я получаю свой файл. Сейчас же запрос, понятное дело из интернета. А когда я отправлял в папку загрузки (сейчас я это понял) я получал две таблицы
extrafant написал: начинаю понимать в чем моя ошибка. Она здесь
Не правильно понимаете. Ошибка в том, что запрос был написан для файлов одной структурой, а вы ему суете совершенно другую. 1. В файле диапазон над таблицей было 3 ненужные строки, которые удалялись на шаге RemovedTopRows , в файле отчет их нету. Эту проблему решил заменой количества удаляемых строк функцией, которая удаляет строки, пока в первом столбце не обнаружится заголовок "№ п/п". Если этот столбец будет переименован, запрос перестанет работать. 2. В файлах Диапазон и Отчет разные названия столбцов, из-за этого сыпались ошибки на шаге ChangedType. Эту проблему решил генерацией динамического списка на основе названий столбцов.