2014-09-08 4 views
2

Excel Power Query에서 각 행의 값이 "오류"레코드가 있는지 모든 행을 검사하는 쿼리에 열 (Table.AddColumn)을 추가하려고합니다. 내가 어떻게 이런 일을 할 수 있는지를 놓치고있다. "try ... otherwise"를 사용하여 개별 필드를 검사하는 방법을 알고 있지만 전체 행을 입력하는 방법을 모르겠습니다. 기본적으로 내 목표는 레코드의 다른 필드 (즉, 행)에 오류가 있는지 여부를 확인하는 함수에 모든 열을 하드 키잉하지 않고 오류가 있는지 나타내는 필드를 갖는 것입니다.Excel 전원 쿼리 오류

도움을 주시면 감사하겠습니다.

+0

기다려, 쿼리? 당신은 쿼리를위한 해결책을 찾고 있습니까? 그렇다면 더 적절한 태그로 질문에 태그를 답니다. 또한 질문을 확장해도 효과가있을 수 있습니다. – StorymasterQ

+0

"Power Query"태그를 추가 할 수 없지만 Excel 추가 기능이므로 가장 적절한 태그라고 생각했습니다. – LoganTheSnowEater

+0

좋은 질문입니다! 나는 그 꼬리표를 만들었 어. –

답변

0

Table.SelectRowsWithErrors에 다시 가입하면 몇 가지 교묘 한 일을 할 수 있습니다.

불행히도 나는 지금 당장 어떻게 될지 알아낼 시간이 없지만, 나중에 다시 올 수 있고, 나중에 다른 사람이 알아 내고 더 나은 대답을 줄 수 있기를 바랍니다.

0

제프의 접근법에 추가. "오류" "미세"과 같은 표시기 열이있는 모든 행이 필요한 경우

마지막 단계 전에 테이블을 반환하는 함수를 만들고 을 두 개의 별도 쿼리로 참조하십시오. 하나의 쿼리에서 오류 만 유지하고 "오류"사용자 지정 열을 추가하십시오. 두 번째 쿼리에서 오류를 제거하고 "정밀"사용자 지정 열을 추가하십시오.

위의 2 개의 쿼리를 추가하여 최종 결과를 얻으십시오.

오류가 발생한 레코드가 방금 필요한 경우 원본 쿼리를 수정하고 오류가있는 레코드를 유지할 수 있습니다. 당신이 엄격히 열을 가지고 싶다면

0

, 당신은 단계에 따라 수행 할 수 있습니다

let 
    Source = Table.ExpandListColumn(Table.FromRecords({[Name= {"Bob", "Jim", "Paul"}, Discount = .15] }), "Name"), 
    AddedErrClmn = Table.AddColumn(Source, "ErrClmn", each if [Name] = "Jim" then [Name]-[Discount] else [Discount]), 
    AddedIndexClmn = Table.AddIndexColumn(AddedErrClmn, "Index", 1, 1), 
    ErrorlessIndexes = Table.RemoveRowsWithErrors(AddedIndexClmn)[Index], 
    AddedCheckClmn = Table.AddColumn(AddedIndexClmn, "Validation", each if List.Contains(ErrorlessIndexes, [Index]) then "ok" else "Error") 
in 
    AddedCheckClmn 

그래서 당신은 목록 ErrorlessIndexes의 결과로 인덱스를 인덱스 오류의 깨끗한 테이블을 추가하고 저장합니다. 그런 다음 수식이있는 열을 추가하십시오. 각 행의 색인에 해당 목록을 검색하십시오. 발견되면 행은 Ok입니다. 그렇지 않으면 오류가 있습니다.