Forum Discussion
Only select certain columns from source
Hi, DnsLeu.
I tested your suggestion, and it worked very well to bring only the necessary columns. It is the equivalent of the query's "$select". However, what would the other options look like, such as "$filter" or "$orderby"?
it it possible to add all of those, but they need to be added *before* the column selection. the code that i wrote above serves as the *core* of your data source. so you will need to have that as the origin. I will give an example:
let
// Define source
Source = OData.Feed("your link", null, [Implementation="2.0"]),
// What to select
Table =
// Sort by
Table.Sort(
// Select rows
Table.SelectRows(
// Select columns
Table.SelectColumns(Source{[Name="Your table name", Signature="table"]}[Data],
{"Column 1", "Column 2", "Column 3", "Column 4", "Column 5"}
),
each [Column 1] = "X" and [Column 2] = "Y"
),
{{"Column 1", Order.Ascending}}
)
as table
in
Table
I highlighted the source in bold. All of these table.(select) functions require a table as the first argument. this table is given by the highlighted part in the code. this is what i mean as the *origin*. In this way, you select the source with the columns you want, and then apply a cascade of filtering, transformations, etc, without having to repeat the source for each table. function. If you want to add another transformation, you would add it before the Table.Sort. Might not be the most logical way to do it, but it works just fine in my case.