2017-05-10 7 views
-1

PowerPivot/Power 쿼리를 사용하여 데이터웨어 하우스에서 많은 양의 데이터를 추출한 다음 특정 규칙을 기반으로 일련의 작업을 수행하는 Excel 모델을 개발하고 싶습니다.여러 if then else 문을 적용하는 방법은 무엇입니까?

첫 번째 부분을 관리했지만 규칙을 적용하는 데 어려움을 겪고 있습니다. 간단히 말해, 모델은 먼저 규칙 1이 올바른지 확인하고 그렇지 않으면 규칙 2가 맞는지 확인해야합니다. 규칙 3이 아니라면 그렇지 않습니다.

하나 이상의 규칙이 올 Y 르 수도 있지만, 적용되는 조치는 j의 순서에 따라 야합니다.

일련의 if 문이 작동하지만 나는 그것을 피하기를 바라고 있습니다.

도움/의견이 있으면 감사드립니다.

Rules

답변

0

나는이 외부 조인을 사용하여 그 방법을 믿습니다.

당신은 규칙 표 (규칙)이있는 경우 : enter image description here

그리고 기록을 위해 테이블 ​​(기록) : enter image description here

당신은 각 테이블 내에서 변수 열을 병합 한 후 병합 할 수 있습니다 규칙 및 레코드 테이블의 새로운 병합 된 변수 열을 키 일치로 사용하여 두 테이블을 조인 (조인)합니다. 그리고 궁극적으로 비교 결과의 표 (비교) 얻을, 새로운 병합 된 테이블의 병합 된 변수 열을 분할 : 여기

let 
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], 
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Rule #", Int64.Type}, {"Variable 1", type text}, {"Variable 2", type text}, {"Variable 3", type text}, {"Variable 4", type text}, {"Variable 5", type text}}), 
#"Demoted Headers" = Table.DemoteHeaders(#"Changed Type"), 
#"Merged Columns" = Table.CombineColumns(#"Demoted Headers",{"Column2", "Column3", "Column4", "Column5", "Column6"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged") 
in 
#"Merged Columns" 

것 : 여기 enter image description here

을 규칙 테이블에서 M 코드입니다 레코드 테이블에서 M 코드 :

: 여기

let 
Source = Excel.CurrentWorkbook(){[Name="Table15"]}[Content], 
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Record", type text}, {"Variable 1", type text}, {"Variable 2", type text}, {"Variable 3", type text}, {"Variable 4", type text}, {"Variable 5", type text}}), 
#"Demoted Headers" = Table.DemoteHeaders(#"Changed Type"), 
#"Merged Columns" = Table.CombineColumns(#"Demoted Headers",{"Column2", "Column3", "Column4", "Column5", "Column6"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged") 
in 
#"Merged Columns" 

와는 비교 테이블에서 M 코드의