从SQL导入power bi时,如何仅选择前1000行?

从SQL导入power bi时,如何仅选择前1000行?,sql,sql-server,powerbi,Sql,Sql Server,Powerbi,我正在尝试将数据从SQL server导入power BI。关于高级选项,有一节叫做SQL语句 我知道我需要的SQL语句是: Select TOP 1000 * from [Table] 如何在数据源/导入时将其写入Power Bi。因此,它会为我计划导入的每个表运行此语句。您可以在导入SQL Server数据时尝试此操作 加载数据后,可以使用keep rows保留和删除行,如下所示 如果所需的所有表都在同一个数据库中,则可以导航到该数据库作为查询的第一步 从那里,向下筛选以仅选择所需的

我正在尝试将数据从SQL server导入power BI。关于高级选项,有一节叫做SQL语句

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

Select TOP 1000 * from [Table]

如何在数据源/导入时将其写入Power Bi。因此,它会为我计划导入的每个表运行此语句。

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

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


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

从那里,向下筛选以仅选择所需的表

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

现在已经获得了所需的表,可以对整个列应用TopN函数(我选择了前3个)

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

Table.TransformColumns(#"Filtered Rows",{{"Schema", Text.Upper, type text}})
您可以从中交换实际需要的列、函数和类型(请参见上文)

此时,您的表都被修剪到前N行,您可以通过右键单击表单元格并选择“添加为新查询”将每个表加载到自己的查询中。或者,您可以右键单击左窗格中的
数据库
查询(请参见第一幅图像),然后选择“引用”。这将创建一个新的查询,您只需单击所需的表即可从中返回该查询

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

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

select top 3
    [$Table].[DealSpecificKey] as [DealSpecificKey],
    [$Table].[DateInvestment] as [DateInvestment],
    [$Table].[DateInvestmentKey] as [DateInvestmentKey],
    [$Table].[DateRedemption] as [DateRedemption],
    [$Table].[DateRedemptionKey] as [DateRedemptionKey]
from [dbo].[AuxDaysInvested] as [$Table]

你是说
TOP1000*
@Sami是的,谢谢!我从未使用过它,但快速查看一下,它会说“您可以通过选择导航器窗格底部的加载按钮加载数据,或者在加载数据之前编辑查询”,请记住,无需按顺序。。。您将选择任意1000条记录-即使看起来它们是按键顺序排列的,也不能保证它们是按键顺序排列的。@Cato我正在尝试编辑查询,但是我不知道如何将表名作为变量添加到所有表中。您可以从我关于在Power BI中保留和删除行的文章中获得帮助。您可以从我撰写的关于在Power BI中保留和删除行的文章中获得帮助。这仅适用于一个表。我需要它多个tables@Fabio在多个表中保留和删除几行时,一次单击选项不可用。但当您编写查询(如视图)并将其作为数据源导入时,您肯定可以这样做。@Fabio即使在SQL Server备份或还原中也没有此功能,仅保留少数选定的记录。复制数据库,然后执行T-SQL程序循环,删除所有表中除5条记录以外的所有记录,怎么样,使用动态SQL是我能想到的一种方法
select top 3
    [$Table].[DealSpecificKey] as [DealSpecificKey],
    [$Table].[DateInvestment] as [DateInvestment],
    [$Table].[DateInvestmentKey] as [DateInvestmentKey],
    [$Table].[DateRedemption] as [DateRedemption],
    [$Table].[DateRedemptionKey] as [DateRedemptionKey]
from [dbo].[AuxDaysInvested] as [$Table]