Здравейте!Как да се справя с този проблем? Получавам данни от счетоводен софтуер в този вид , а искам да станат във вид за пивот.

Microsoft Excel Пивот таблици Excel Pivot & Power Pivot

Нищо работа, но ще ми трябва файла. Пишете ми на ЛС

Обаче, хм, трябва да видим как ще го опишем решението тук

Моето скромно мнение, решението е с програмен код на VBA. Счетоводните програми и някои ERP системи генерират този формат за импорт в Excel, който не помага данните да се обработват в Excel Най-доброто решение е да се напише коректна заявка в базата данни за желания формат.

Специално към Kocho: Любопитна съм да споделиш решението, по всяка вероятност с Power Query

Привет, отсъствах известно време. Към Kocho - неразбрах как да Ви пратя файла на ЛС. Иначе аз съм стигнал до тук в решението: От ехел 1.Нова колона "Concatenate" и събирам "фактура", №, "дата" 2. В Query раздърпвам по редове инфото -"fill down". Ако знаех как да изтрия множество произволни редове в заявката.......

може и на kochomindev@gmail.com

Kocho, благодаря за идеята. С Power Query се получава много лесно и без код на VBA. Merge Queries прави чудеса!

Аз всъщност не използвам Merge Queries. за номера на фактурата правя Conditional Column: Ако в колона "име на документа/артикул" е "фактура" да върне стойността от колона "номер" else null След това в тази колона правя Fill down и така получавам колона с номерата на фактурите

По аналогичен начин си правя колона за датите, а за контрагентите просто прилагам Fill down.

След това в колона "име на документа/артикул" филтрирам и махам "фактура".

Накрая преименувам колоните, размествам ги, и оправям формата ако е нужно.

Ето го и М кодът (Source е Table1, където са ми примерните данни, но може да бъде файл или база данни, линк към страница и т.н.):

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Име на документа/артикул", type text}, {"номер", type any}, {"дата/бр", type any}, {"сума", type number}, {"контрагент", type text}}), #"Added Conditional Column" = Table.AddColumn(#"Changed Type", "Custom", each if [#"Име на документа/артикул"] = "фактура" then [номер] else null), #"Filled Down" = Table.FillDown(#"Added Conditional Column",{"Custom"}), #"Renamed Columns" = Table.RenameColumns(#"Filled Down",{{"Custom", "Фактура"}}), #"Added Conditional Column1" = Table.AddColumn(#"Renamed Columns", "Custom", each if [#"Име на документа/артикул"] = "фактура" then [#"дата/бр"] else null), #"Filled Down1" = Table.FillDown(#"Added Conditional Column1",{"Custom"}), #"Changed Type1" = Table.TransformColumnTypes(#"Filled Down1",{{"Custom", type date}}), #"Renamed Columns1" = Table.RenameColumns(#"Changed Type1",{{"Custom", "дата"}}), #"Filled Down2" = Table.FillDown(#"Renamed Columns1",{"контрагент"}), #"Filtered Rows" = Table.SelectRows(#"Filled Down2", each ([#"Име на документа/артикул"] <> "фактура")), #"Renamed Columns2" = Table.RenameColumns(#"Filtered Rows",{{"номер", "мярка"}, {"Име на документа/артикул", "Артикул"}, {"дата/бр", "бр"}}), #"Changed Type2" = Table.TransformColumnTypes(#"Renamed Columns2",{{"бр", Int64.Type}}) in #"Changed Type2"

Супер решение, благодаря! Аз използвам Merge Query. Ето как: Duplicate Query за заявката с данните и запазвам само колоните с данните за фактурата. След това Merge на двете заявки за колоната с номера на фактурата. За 4-те нови колони - Fill Down. А накрая филтър за артикул - без Фактура. И също се получава.

И така става, защо не. Единственото неудобство е, че създаваме още една заявка

Въпросът ми е към упражнението на урок м6v6. Защо команда keep не запази заменените стойности.

Изпратете скрийншот на промените с команда Keep и за резултата след командата.

Упражнението със скрийншота правя за първи път. Много ми хареса и е много лесно. Освен това намерих отговор на моя въпрос - използвах команда Close&Load. Много благодаря на екипа за уроците!

Радвам се, че сама сте намерила отговор. Успех!

Защо Excel не отразява измененията в заявката. Може ли по-подробно стъпките: 1. Изчистваме текста в заявката - това е ясно, 2. Записваме промените с ...... 3. Измененията се пренасят в Excel ......??

За да покажете направените промени в заявката като таблица в Excel, ето какво трябва да направите: 1. Изчиствате данните 2. Query Editor --> Home --> Close&Load --> Close&Load To

  1. Отваря се диалогов прозорец Load

  2. Заявката с направените промени се записва на ноя лист.

  3. Всяка следващата промяна в заявката ще се отрази в тази таблица

Ако имате още въпроси, моля пишете.


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация