Это реестр учета приборов учета ХВС и ГВС. Сейчас в реестре 900 строк
Есть таблица БД, ее надо перестраивать. динамически получать новую при добавлении значений в БД.
Ее не нужно пересортировать, ее нужно принципиально перестроить.
1. в БД нужно обрабатывать строки только со значением "установлен" из столбца 1. 2. в столбце л/с и № значение может быть только 2 раза(но иногда и 1 раз) повторяться(это проверяется на вкладке БД при заполнении). 3. Нужно построить таблицу по л/с 4. расположив напротив л/с сначала прибор ХВС, а потом ГВС
Смотрите пример.
В примере исходная БД на вкладке БД Требуемый результат на вкладке результат.
P.S.Я не понимаю как это сделать. Не могу понять как это делать, динамически или вызовом макроса, но делать это в ручную реальная каторга, т.к. приходиться потом сидеть и проверять.
Заранее спасибо!
Всем привет!
Это реестр учета приборов учета ХВС и ГВС. Сейчас в реестре 900 строк
Есть таблица БД, ее надо перестраивать. динамически получать новую при добавлении значений в БД.
Ее не нужно пересортировать, ее нужно принципиально перестроить.
1. в БД нужно обрабатывать строки только со значением "установлен" из столбца 1. 2. в столбце л/с и № значение может быть только 2 раза(но иногда и 1 раз) повторяться(это проверяется на вкладке БД при заполнении). 3. Нужно построить таблицу по л/с 4. расположив напротив л/с сначала прибор ХВС, а потом ГВС
Смотрите пример.
В примере исходная БД на вкладке БД Требуемый результат на вкладке результат.
P.S.Я не понимаю как это сделать. Не могу понять как это делать, динамически или вызовом макроса, но делать это в ручную реальная каторга, т.к. приходиться потом сидеть и проверять.
let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], filtr = Table.SelectRows(from, each ([Статс] = "установлен")), group = Table.Group(filtr, {"л/с","№","Ресурс"}, {"Количество", each _, type table}), pivot = Table.Pivot(group, List.Distinct(group[Ресурс]), "Ресурс", "Количество"), lst = {"№ прибора","Срок поверки до","Прибор","ДАТА","Дата пр-ва", "срок поверки"}, exp = Table.ExpandTableColumn(pivot, "ХВС", lst, List.Transform(lst, each "ХВС."&_)), to = Table.ExpandTableColumn(exp, "ГВС", lst, List.Transform(lst, each "ГВС."&_)) in to
[/vba]
может PQ? [vba]
Код
let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], filtr = Table.SelectRows(from, each ([Статс] = "установлен")), group = Table.Group(filtr, {"л/с","№","Ресурс"}, {"Количество", each _, type table}), pivot = Table.Pivot(group, List.Distinct(group[Ресурс]), "Ресурс", "Количество"), lst = {"№ прибора","Срок поверки до","Прибор","ДАТА","Дата пр-ва", "срок поверки"}, exp = Table.ExpandTableColumn(pivot, "ХВС", lst, List.Transform(lst, each "ХВС."&_)), to = Table.ExpandTableColumn(exp, "ГВС", lst, List.Transform(lst, each "ГВС."&_)) in to
Так, а результат в файле чем не устраивает? От вас же требуется только обновлять запрос И не понял про повторяющиеся л/с и № - что делать с повторами, удалять? тогда:[vba]
Код
let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], filtr = Table.SelectRows(from, each ([Статс] = "установлен")), group = Table.Group(filtr, {"л/с","№","Ресурс"}, {"Количество", each _{0}, type table}), pivot = Table.Pivot(group, List.Distinct(group[Ресурс]), "Ресурс", "Количество"), lst = {"№ прибора","Срок поверки до","Прибор","ДАТА","Дата пр-ва", "срок поверки"}, exp = Table.ExpandRecordColumn(pivot, "ХВС", lst, List.Transform(lst, each "ХВС."&_)), to = Table.ExpandRecordColumn(exp, "ГВС", lst, List.Transform(lst, each "ГВС."&_)) in to
[/vba]
Так, а результат в файле чем не устраивает? От вас же требуется только обновлять запрос И не понял про повторяющиеся л/с и № - что делать с повторами, удалять? тогда:[vba]
Код
let from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], filtr = Table.SelectRows(from, each ([Статс] = "установлен")), group = Table.Group(filtr, {"л/с","№","Ресурс"}, {"Количество", each _{0}, type table}), pivot = Table.Pivot(group, List.Distinct(group[Ресурс]), "Ресурс", "Количество"), lst = {"№ прибора","Срок поверки до","Прибор","ДАТА","Дата пр-ва", "срок поверки"}, exp = Table.ExpandRecordColumn(pivot, "ХВС", lst, List.Transform(lst, each "ХВС."&_)), to = Table.ExpandRecordColumn(exp, "ГВС", lst, List.Transform(lst, each "ГВС."&_)) in to
Я всего лишь отформатировала второй диапазон как умную таблицу, не захватывая первую строку с нумерацией, загрузила её в PQ, скопировала прежний запрос, поменяла название таблицы
Я всего лишь отформатировала второй диапазон как умную таблицу, не захватывая первую строку с нумерацией, загрузила её в PQ, скопировала прежний запрос, поменяла название таблицыPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816