Пропустить запись, если пуст - PullRequest
0 голосов
/ 30 октября 2019

Я создал функцию, которая очищает мои данные от лишних столбцов с нулевыми значениями. После этого всегда должно быть 15 столбцов, но иногда их больше или меньше, и когда это происходит, эти таблицы просто нужно удалить.

Я пытался просто пропустить все эти строки и вернуть пустую таблицу, но когда я пытаюсьчтобы развернуть эти таблицы, я получаю сообщение об ошибке «Невозможно преобразовать значение false в тип Number».

(tbl as table) =>
    let
        ColumnNames = Table.ColumnNames(tbl),
        RemoveNullColumns = Table.SelectColumns(tbl, List.Select(ColumnNames, each List.MatchesAny(Table.Column(tbl, _), each _ <> null))),
        CheckColumns = Table.Skip(RemoveNullColumns, Table.ColumnCount(RemoveNullColumns) <> 15)
    in
        CheckColumns

1 Ответ

0 голосов
/ 30 октября 2019

Посмотрите, работает ли это для вас. Удаляет все столбцы, содержащие ноль, и возвращает tbl, только если осталось 15 столбцов

(tbl as table) =>
let ColumnNames = Table.ColumnNames(tbl),
ReplacedValue = Table.ReplaceValue(tbl,null,"imanull",Replacer.ReplaceValue,ColumnNames ),
UnpivotedColumns = Table.UnpivotOtherColumns(ReplacedValue, {}, "Attribute", "Value"),
FilteredRows = Table.SelectRows(UnpivotedColumns, each ([Value] = "imanull")),
NonNullColumns= List.Difference(ColumnNames,List.Distinct(FilteredRows[Attribute])),
Results = if List.Count (NonNullColumns) <> 15 then null else Table.SelectColumns(tbl,NonNullColumns)
in Results
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...