Forum Discussion
Table name change for each new project
- 5 years ago
Hi clem312
You could first connect to project 1 with the native query in your original post to create a query. Then modify its M codes in Advanced editor like below to convert it into a custom function.
VarAskList and varAskCall are two variables which we use to replace the "AskCall1" and "AskList1" strings in original query codes. I name it as functionQuery.
(varAskList as text, varAskCall as text) => let Source = Sql.Database("server name", "database name", [Query="SELECT Statistic_Agent.CallID, Lists.dbo." & varAskList & ".AskInterview, Lists.dbo." & varAskList & ".QUOTA7 FROM Lists.dbo." & varAskList & " INNER JOIN Lists.dbo." & varAskCall & " ON Lists.dbo." & varAskList & ".AskInterview = Lists.dbo." & varAskCall & ".AskInterview INNER JOIN Statistic_Agent ON Lists.dbo." & varAskCall & ".CallID = Statistic_Agent.CallID", CreateNavigationProperties=false]) in SourceCreate a table which includes table names for 500 projects.
let projectList = List.Generate(() => 1, each _ <= 500, each _ + 1), #"Converted to Table" = Table.FromList(projectList, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "Project Number"}}), #"Added Custom" = Table.AddColumn(#"Renamed Columns", "Table1", each "AskList"&Text.From([Project Number])), #"Added Custom1" = Table.AddColumn(#"Added Custom", "Table2", each "AskCall"&Text.From([Project Number])) in #"Added Custom1"After that, invoke the function functionQuery to add a new column in the previous table. We use the two table name columns for paramters varAskList and var AskCall in the function.
After invoking the function, you will see a new table column similar to below. Click the expand icon on the column header to expand the tables. You will have all 500 project data in the query.
Regards,
Community Support Team _ Jing
If this post helps, please Accept it as the solution to help other members find it.
Hi clem312
Since it works if you add "Statistics" as Database, you could click on Transform data in the preview window to add this query first. Then edit this query in Advanced Editor, replace its Query variable's value in Source step with the value in previous post which has parameters. And add below code before let. After this query is converted into a function, enter some values for the parameters to test this function first. If it works, you can follow steps in my first post.
(varAskList as text, varAskCall as text) =>
Regards,
Jing
Hi v-jingzhang
It seems better but I have to accept a request for every incrementation of table name
"Do you autorize this native query ?"
Is there a way to say yes for all tables ?
Best regards
Clement
- clem3125 years ago
Resolver I
Sorry v-jingzhang a quick search on google and I found out.
The script is running, I'll tell you if it worked.
Clement
- clem3125 years ago
Resolver I
Thank you very much v-jingzhang it worked.
- clem3125 years ago
Resolver I
Hi v-jingzhang
Just a question. When a table doesn't exist, I have an error in the Load of course.
How is it possible to upload tables OK and ignore the error ?
- v-jingzhang5 years ago
Community Support
Hi clem312 , sorry for the late reply.
Before expanding the TableContent columns, you could remove the rows which contain Errors. Select this column, go to Home > Remove Rows and select Remove Errors.
Regards,
Jing