Forum Discussion
Power Query find minimum/maximum dates across multiple tables
- 10 years ago
Btw, looks like there's a slight confusion in the function signature:
FnMinMaxDate = (TableName as table, ColumnName as text)
Do you want your first parameter to be table, or a table name? Looking at your parameters name and your input table, you're passing down the table's name (text), but your parameter type is table. I would recommend passing the table itself, instead of its name (check Table.Column's input parameters). So it should look like this:
FnMinMaxDate = (InputTable as table, ColumnName as text)
And your input table:
Table
Name(table) ColumnName(text)------------------------ ------------------
Sales SalesDate
Sales OrderDate
Purchase PurchaseDate
Does this make sense?
- 10 years ago
And then, what you need is probably to call Table.AddColumn function (in the query editor, you would see a button "Add Custom Column" for it)
you would call it in a way like this:
= Table.AddColumn(tableWithTablesAndColumnNames, "MinAndMax", each FnMinMaxDate([Table], [ColumnName]))
One other thing, if you're returning only 1 row, consider returning just a record instead of a table with 1 row.
hmmm.. doesn't show all my code?
let
FnMinMaxDate = (TableName as table, ColumnName as text) =>
let
DatesPerTable = Table.FromRecords(
{[MinDate = List.Min(Table.Column(TableName, ColumnName))
, MaxDate = List.Max(Table.Column(TableName, ColumnName))]},
type table [MinDate = datetime, MaxDate = datetime])
in
DatesPerTable,
#"Invoked Function" = FnMinMaxDate(Sales, "SalesDate")
in
#"Invoked Function"