从SQL导入Power Bi时,如何仅选择前1000行?

时间:2019-01-14 11:23:41

标签: sql sql-server powerbi

我正在尝试将SQL服务器中的数据导入Power BI。关于高级选项的一节称为SQL语句。

我知道我需要的SQL语句是:

Select TOP 1000 * from [Table]

在数据源/导入时如何在Power Bi中编写此代码。以便它为我计划导入的每个表运行此语句?

2 个答案:

答案 0 :(得分:4)

您可以在导入SQL Server数据时尝试此操作。

enter image description here

加载数据后,您可以使用如下所示的保留行来保留和删除行

enter image description here

enter image description here

答案 1 :(得分:1)

如果所有需要的表都在同一个数据库中,那么您可以作为查询的第一步导航到该数据库。

Database

从此处进行过滤以仅选择所需的表。

Filter Rows

(您可以在底部窗格中看到所选单元格的预览。)

现在您已经有了所需的表,可以将TopN函数应用于整个列(我选择了前3个)。

Table.TransformColumns(#"Filtered Rows",{{"Data", each Table.FirstN(_,3), type table}})

添加此步骤的快速方法是对文本列进行转换,然后仅替换该列和所应用的函数。例如,如果使用GUI将Schema列的格式设置为大写,它将添加步骤

Table.TransformColumns(#"Filtered Rows",{{"Schema", Text.Upper, type text}})

,您可以从中交换出您实际想要的列,函数和类型(请参见上一节)。

Top 3

这时,您的表都被修剪到前N行,并且可以通过右键单击表单元格并选择“添加为新查询”将每个表加载到自己的查询中。或者,您可以右键单击左窗格中的Database查询(请参见第一张图片),然后选择“参考”。这将创建一个新查询,您可以从中简单地单击所需的表,它将仅返回该表。

注意:前一种方法将在您扩展的表格后自动命名新查询,但如果您想更改 N 值,则后者会更好地工作,因为它不会不会重新创建整个查询。

无论哪种方式,如果右键单击每个新表中的最后一个应用步骤,则可以选择“查看本机查询”,并且可以看到传递回服务器的语句很简单{{1} }。

select top 3