Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
проиндексировать потовряющиеся строки через Power Query
 
Цитата
написал:
ижних дубликата по "№ п/п" оставить. А оставить 1 нижний дубликат по "№ п/п". Именно это и делается в моем коде.
surkenny Вы очень точно описали мои неточные задачи :-) Огромное вам спасибо! И в особенности за объяснение как вставить код))
Я правда уже вставил его - не совсем так как вы написали, а путем добавления шагов и потом исправления в сроке формул на ваши)).
Но - заработало))
Еще раз - огромное вам спасибо!
Изменено: detalik - 01.03.2023 18:17:09
проиндексировать потовряющиеся строки через Power Query
 
Цитата
написал:
Наверное, вот так нужно ТС (по крайней мере, результат из примера достигнут). Но объяснение, так себе
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23      let        data = Excel.CurrentWorkbook(){[ Name =   "Таблица1"   ]}[Content],        addInd = Table.AddIndexColumn ( data,   "Индекс"  , 1, 1, Int64.Type ),        reorder = Table.ReorderColumns ( addInd, {   "Индекс"   } & Table.ColumnNames ( data ) ),        copyN = Table.AddColumn ( reorder,   "tmp_№ п/п"  , each if [#  "№ п/п"  ] =   ""   then null else [#  "№ п/п"  ], type text ),        fillDown = Table.FillDown ( copyN, {   "tmp_№ п/п"   } ),        group_1 = Table.Group (          fillDown,          {   "tmp_№ п/п"   },          { {   "tbl"  , ( t ) => Table.Distinct ( t, {   "Наименование"   } ), type table } },          GroupKind.Local        ),        combine = Table.Combine ( group_1[tbl] ),        group_2 = Table.Group (          combine,          {   "Наименование"  ,   "tmp_№ п/п"   },          { {   "rec"  , ( t ) => Record.RemoveFields ( Table.Last ( t ), {   "tmp_№ п/п"   } ), type record } }        ),        toTbl = Table.FromRecords ( group_2[rec] ),        sort = Table.Sort ( toTbl, { {   "Индекс"  , Order.Ascending } } ),        delInd = Table.RemoveColumns ( sort, {   "Индекс"   } )    in        delInd   
 
Пытаюсь вставить ваш код в расширенном редакторе - не получается, ошибка((
проиндексировать потовряющиеся строки через Power Query
 
Антон попробую объяснить задачу :-). Мне нужно было удалить строки, значения для которых повторяются в столбце "Наименование", причем первую повторяющуюся строку нужно оставить. Значения повторяются именно в столбце "Наименование", то есть не все столбцы в строках идентичны. Тоже самое нужно сделать и для столбца "№ п/п", но там мне нужно удалить все "ИТОГО", оставив три нижних.... Надеюсь сейчас стало понятнее))
проиндексировать потовряющиеся строки через Power Query
 
Я вот никак не могу разобраться, что делает этот код, я пока просто его скопировал - получилось)):
Код
= Table.Group (
    #"Заполнение вниз",
    { "tmp_№ п/п" },
    { { "tbl", ( t ) => Table.Distinct ( t, { "Наименование" } ), type table } },
    GroupKind.Local
  )
проиндексировать потовряющиеся строки через Power Query
 
surkenny, спасибо! Это действительно то, что нужно. Правда я пока не до конца понял как работает код). разобрался только до момента группировки). И еще вопрос - обязательно ли было добавлять условный столбец или можно было просто через замену поменять 0 на null, а потом заполнить значения?

Спасибо.
проиндексировать потовряющиеся строки через Power Query
 
Файл-пример.
Из дубликатов нужно сохранить те строки, что выделены красным.
проиндексировать потовряющиеся строки через Power Query
 
@nilske как добавить столбец индекса я знаю. Но мне нужно проиндексировать именно повторяющиеся значения, чтобы потом с ними как-то работать
проиндексировать потовряющиеся строки через Power Query
 
Встала задача удалить повторяющиеся строки через Power Query, причем оставив значения, выделенные красным, и именно в том порядке в каком они были изначально. Пока вижу реализацию этого через индексирование, но не знаю как написать это в PQ. Никак не могу придумать как это сделать. Прошу помощи.

№ п/пНаименованиеЦена, руб. с НДС 20%Кол-во, шт.Сумма, руб. с НДС 20% ИТОГО
1Персональный коммуникатор 425 ,0020,008 507,000,00
ИТОГО   без НДС, руб.00,000,007 089 ,00
ИТОГО с НДС (20%), руб.00,000,008 507 ,00
НДС   (20%)00,000,001 417 ,00
1Плеер 621117 006,00705,000,00
из состава  20,000,000,00
2Плата SLAC48165 ,004,00660 ,000,00
из состава 20,000,000,00
из состава 20,000,000,00
из состава 20,000,000,00
из состава 20,000,000,00
3Товар 1140,004,0056,000,00
4Товар 2269,006,001,000,00
5Товар 3533,0012,006 399,000,00
6Товар 4630,006,003 785,000,00
7Товар 5156,006,0094,000,00
8Кабель 115,004,0062 ,000,00
9Кабель 215,006,0090,000,00
10Кабель 315,006,0093 4,000,00
11Кабель 415,0010,00156   210,000,00
ИТОГО без НДС, руб.00,000,0012 561,48
ИТОГО с   НДС (20%), руб.00,000,0015 074,00
НДС (20%)00,000,002 512,52
ИТОГО   без НДС, руб.00,000,0019 651,48
ИТОГО с НДС (20%), руб.00,000,0023 581,00
НДС   (20%)00,000,003 930,52
Страницы: 1
Наверх