我有一个相对简单的问题,看起来好像应该可以实现,但我已经尝试了一切都没有成功。
情况如下:
在Excel中使用Power Query我希望能够使用Table.Combine函数将组合多个查询(让我们称之为:Query1,Query2和Query3)组合成一个查询。
唯一的问题是我将要合并的查询列表将是动态的并且依赖于另一个查询(让我们称之为:QueryList)
例如,在某些情况下,QueryList将是:
在其他一些条件下,QueryList可能只是:
我想要做的是能够将QueryList的值解析为Table.Combine函数:
例如。 Table.Combine(# “QueryList”)
从而允许动态合并查询
发生的事情是我收到的错误声明:
Expression.Error:我们无法将值“Query1”转换为类型Table。 细节: 值=查询1 类型=类型
更新: 我尝试过Table.ToList的变种,使用{}来创建一个列表,TableFromlist,都没有成功(通常错误抱怨无法从文本转换到列表或表等。
提前感谢您的帮助。
答案 0 :(得分: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])))