Powerbi Power Query-从表中选择列,而不是随后删除

Powerbi Power Query-从表中选择列,而不是随后删除,powerbi,powerquery,Powerbi,Powerquery,从数据库表(如SQL Server)导入数据时的默认行为是引入所有列,然后选择要删除的列 有没有相反的方法?ie从表中选择所需的列?最好不使用本机SQL解决方案 M: let db = Sql.Databases("sqlserver.database.url"){[Name="DatabaseName"]}[Data], Sales_vDimCustomer = db{[Schema="Sales",Item="vDimCustomer"]}[Data], remove

从数据库表(如SQL Server)导入数据时的默认行为是引入所有列,然后选择要删除的列

有没有相反的方法?ie从表中选择所需的列?最好不使用本机SQL解决方案

M:

let
    db = Sql.Databases("sqlserver.database.url"){[Name="DatabaseName"]}[Data],
    Sales_vDimCustomer = db{[Schema="Sales",Item="vDimCustomer"]}[Data],
    remove_columns = Table.RemoveColumns(Sales_vDimCustomer,{"Key", "Code","Column1","Column2","Column3","Column4","Column5","Column6","Column7","Column8","Column9","Column10"})
in
    remove_columns 
上面的代码段显示了连接和随后的删除

与本机SQL方式相比:

= Sql.Database("sqlserver.database.url", "DatabaseName", [Query="
    SELECT Name,
           Representative,
           Status,
           DateLastModified, 
           UserLastModified,  
           ExtractionDate
    FROM Sales.vDimCustomer
"])
我看不到很多关于
}[Data],
值的文档,所以我希望我可以劫持该字段来指定该数据中的哪些字段

任何想法都很好!:)

我首先关心的是,当这被编译成SQL时,它会作为两个查询发送(如ExpressProfiler中所述)

第一个查询删除选定的列,第二个查询选择所有列


我的第二个担忧是,如果在数据库中添加或删除列,则可能会使我的报告崩溃(Excel表格中的其他列会将结构化表格语言公式跳转到错误的列)。使用本机SQL不是问题,因为它不会选择新列,如果删除了该列,它实际上会崩溃,这是我想知道的。

哎哟,在我重新思考并查看了该列之后,这其实很容易


让
db=Sql.Databases(“sqlserver.database.url”){[Name=“DatabaseName”]}[Data],
Sales\u vDimCustomer=Table.SelectColumns(
(db{[Schema=“Sales”,Item=“vDimCustomer”]}[Data],
{
“姓名”,
“代表”,
“地位”,
“DateLastModified”,
“UserLastModified”,
“提取日期”
}
)
在里面
销售部/客户部


这也比另一种方法加载的速度快得多,只生成了一个SQL请求,而不是两个。

哎哟,在我再想一想并看一看之后,这其实很容易


让
db=Sql.Databases(“sqlserver.database.url”){[Name=“DatabaseName”]}[Data],
Sales\u vDimCustomer=Table.SelectColumns(
(db{[Schema=“Sales”,Item=“vDimCustomer”]}[Data],
{
“姓名”,
“代表”,
“地位”,
“DateLastModified”,
“UserLastModified”,
“提取日期”
}
)
在里面
销售部/客户部


这也比另一种方法加载的速度快得多,只生成了一个请求的SQL,而不是两个。

表。SelectColumns
是正确的解决方案!如果使用预览编辑器多选所需的列并单击鼠标右键,则“删除其他列”操作将生成对
表的调用。SelectColumns
:)
Table.SelectColumns
是正确的解决方案!如果使用预览编辑器多选所需的列并单击鼠标右键,则“删除其他列”操作将生成对
Table.SelectColumns
:)的调用