2017-12-30 14 views
0

비교적 간단한 문제가 있습니다. 이는 달성 할 수있는 것처럼 보이지만 전혀 성공하지 못했습니다. 여기 Table.Combine에 동적 값 목록 전달

상황이다

전원 쿼리를 사용하여 내가 여러 쿼리를 결합 수 있도록하고 싶습니다 엑셀 내에서 (이 호출 할 수 있습니다 : Query1을, QUERY2 및 QUERY3) 하나 개의 쿼리로는 Table.Combine를 사용하여 기능.

: 것 QueryList 특정 상황에서, 예를 들어

:

유일한 캐치는 내가 다른 쿼리에 역동적이고 달려있다 결합 될 쿼리의 목록 (QueryList이 전화를 할 수 있습니다) 이다

  • Query1을
  • QUERY2
  • QUERY3
,

및 다른 condtions에서 QueryList 간단하게 할 수있다 :

  • Query1을
  • QUERY3는

내가 뭘하고 싶은 것은 Table.Combine에 QueryList의 값을 구문 분석 할 수있다 기능 :

예 :

Expression.Error은 : 우리는 값을 변환 할 수 없습니다 Table.Combine는 (#은 "QueryList")

하여이

일이 일어나고 무슨 쿼리를 동적으로 통합 난의 오류를 얻고 있다는 것입니다 수 "Query1"을 입력하여 테이블. 세부 : 값 = Query1을 유형 = 유형

업데이트 : 내가 사용, Table.ToList의 변화를 시도 {} 목록을 만들려면 TableFromlist, 아니 성공을 모두 (일반적으로 오류가없는 불평 텍스트에서 comvert 할 수있는 것은 도움을 사전에

감사를 나열하거나 등 테이블합니다.

답변

0

당신의 QueryList 일하는 것이 {Query1을, QUERY2} 다음 Table.Combine (QueryList) 될 경우.

분명히 QueryList는 { "Query1", "Query2"}입니다.

그래서 문자열은 Expression.Evaluate를 사용하여 수행 할 수있는 테이블로 변환되어야합니다. 수식에 Query1, QUERY2, QUERY3를 들어,가되도록 두 번째 매개 변수로, 당신은 가능한 모든 쿼리 기록을 제공해야합니다

= Table.Combine(List.Transform(QueryList, each Expression.Evaluate(_, [Query1 = Query1, Query2 = Query2, Query3 = Query3]))) 
+0

죄송 만이 위대한 일을하고 더욱 유체에 나를 이끌었다 지금 회신 및 동적 솔루션.텍스트 값으로 구성된 두 번째 매개 변수에 대한 필드를 만들었습니다. 텍스트 값 = [Query1 = Query1, Query2 = Query2, Query3 = Query3] 물론 내가 위에서 제안한 솔루션으로 돌아간 레코드 목록을 반환 한 Expression.Evaluate에 적용했습니다. . –