Добрый день. Есть таблица с данными грузооборота вида id/наименование/вес/кол-во мест/ и т.д. С одним id (номером документа) могут вносится несколько строк наименований.
Мне нужно исключить из дальнейших расчетов все строки с одним id, если хотя бы одна из ячеек такой группы строк пустая (незаполненная).
У меня получился вот такой код:
Как мне кажется, конструкция очень громоздкая (и некрасивая).
Вопрос - можно ли решить задачу за меньшее число шагов?
Мне нужно исключить из дальнейших расчетов все строки с одним id, если хотя бы одна из ячеек такой группы строк пустая (незаполненная).
У меня получился вот такой код:
Код |
---|
let Source = Excel.CurrentWorkbook(){[Name="данные"]}[Content], AddedCustom = Table.AddColumn(Source, "Custom", each if [Наименование]<>null and [вес]<> null and [#"кол-во мест"]<> null and [категория]<> null then [id] else null ), GroupedRowsByID = Table.Group(AddedCustom, {"id"}, {{"CountID", each Table.RowCount(_), type number}, {"tab", each _, type table}}), GropedRowsByNulls = Table.Group(AddedCustom, {"Custom", "id"}, {{"CountNulls", each Table.RowCount(_), type number}}), Joined = Table.Join(GroupedRowsByID, {"id"},GropedRowsByNulls, {"id"}), #"Added Conditional Column" = Table.AddColumn(Joined, "Custom.1", each if [CountID] <> [CountNulls] then null else [CountID]), Filtered = Table.SelectRows(#"Added Conditional Column", each ([Custom.1] <>null)), Expanded = Table.ExpandTableColumn(Filtered, "tab", {"Наименование", "вес", "кол-во мест", "категория"}, {"Наименование", "вес", "кол-во мест", "категория"}), #"Removed Other Columns" = Table.SelectColumns(Expanded,{"id", "Наименование", "вес", "кол-во мест", "категория"}) in #"Removed Other Columns" |
Вопрос - можно ли решить задачу за меньшее число шагов?