Powerbi Power BI查询中的变量
我有一个SQL查询来将数据输入Power BI。例如:Powerbi Power BI查询中的变量,powerbi,powerquery,Powerbi,Powerquery,我有一个SQL查询来将数据输入Power BI。例如: select a,b,c,d from table1 where a in ('1111','2222','3333' etc.) 但是,变量“1111”、“2222”、“3333”等的列表每天都会更改,因此我希望在刷新数据之前更新SQL语句。这可能吗 理想情况下,我希望在本例中保留一个包含值列表的电子表格,以便在刷新之前,它将这些参数输入到该脚本中。 我遇到的另一个问题是,列表将具有不同的参数nr,因此最后一个变量需要不带逗号 我正在
select a,b,c,d from table1
where a in ('1111','2222','3333' etc.)
但是,变量“1111”、“2222”、“3333”等的列表每天都会更改,因此我希望在刷新数据之前更新SQL语句。这可能吗
理想情况下,我希望在本例中保留一个包含值列表的电子表格,以便在刷新之前,它将这些参数输入到该脚本中。
我遇到的另一个问题是,列表将具有不同的参数nr,因此最后一个变量需要不带逗号
我正在考虑的另一个选择是运行脚本,而不使用'1111'、'2222'、'3333'等中的where a,然后用这些a的列表加载电子表格,并根据该列表过滤报告,但是这将是大量数据导入Power BI
这是我有史以来的第一篇文章,尽管我多年来一直在从Stackoverflow寻求帮助,所以希望一切都清楚。我将创建一个新的查询,从您的电子表格中读取a值。我将Load To/Import Data选项设置为仅创建连接,以避免重复数据 然后在SQL查询中,我将删除where子句。这样一来,实际上根本不需要编写自定义SQL—只需从导航UI中选择表/视图即可 然后从table1查询中,我将添加一个合并查询步骤,使用连接类型:Inner连接到a列上的a值查询。结果行将仅是那些具有与当前SQL where子句类似的匹配列值的行
Power Query无法将其作为单个查询发送到SQL Server,因此它将首先选择表1中的所有行。但它仍然相当快速和高效。我已经有一段时间没有使用Power BI了。然而,当你说变量“1111”、“2222”、“3333”等的列表时,你是指Power Query/M中的列表吗?如果是这样,您可以只使用Text.combinesmelist,,这将有效地将{1,2,3}转换为1,2,3。如果在每个列表项之前和之后都需要“转换”,可以尝试类似list.TransformsomeList、each“&Text.From&”,然后调用Text.Combine。所有这些都将为您提供一个连接字符串,然后您可以将其放入SQL查询中。谢谢您,Mike。我做这件事的方式略有不同。加载不带where子句的SQL。然后用列表加载电子表格并建立关系。最后,在报告级别取消筛选空白,以删除不匹配的行。工作正常,无需任何调整。下次我运行此报告时,只需单击“刷新”,它将加载新数据、电子表格并以相同的方式执行。