cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Pedro_Okazaki
Helper III
Helper III

Is there a way to write a SQL Query into a TXT file and execute it from PBI?

Dear PBI users, good afternoon.

 

Currently we are analyzing dividing the development team into front-end - UI / UX design (mostly focusing on the PBI charts , UI and overall UX) and Back-end (SQL Querying, Table optmization etc).

 

Esentialy the idea is to allow both teams to work on the report at the same time. The conclusion was, we would like the team to write the sql query into a TXT file and we would connect into the TXT and excute the query written on it.

 

Unfortunately I am not very known on this process, I know how to get the content of a txt but not to execute the written query against a database within PBI.

 

Would anyone have a clue how to do it?

 

Thank you!

2 ACCEPTED SOLUTIONS
ThxAlot
Solution Sage
Solution Sage

I managed to apply the same mode in our team last year, i.e. we use PQ to read sql files stored in a centralized sql depository; we are able to compile sql easily.

let
    // applicable to .txt / .sql files
    Source = "C:\Users\Home\Downloads\Qry.sql",
    SqlContent = Text.Combine(Table.ToColumns(Csv.Document(File.Contents(Source))){0}, "#(lf)")
in
    SqlContent

ThxAlot_0-1682698774338.png



Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LeanAndPractise(Everyday)


)



View solution in original post

Sql.Database("server", "database", [Query=SQLContent])


Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LeanAndPractise(Everyday)


)



View solution in original post

5 REPLIES 5
ThxAlot
Solution Sage
Solution Sage

I managed to apply the same mode in our team last year, i.e. we use PQ to read sql files stored in a centralized sql depository; we are able to compile sql easily.

let
    // applicable to .txt / .sql files
    Source = "C:\Users\Home\Downloads\Qry.sql",
    SqlContent = Text.Combine(Table.ToColumns(Csv.Document(File.Contents(Source))){0}, "#(lf)")
in
    SqlContent

ThxAlot_0-1682698774338.png



Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LeanAndPractise(Everyday)


)



Exactly what we want to do , quick question @ThxAlot , and how do you execute it?

 

something like a blank query with 

 

= Sql.Database("server", "view", [Query=SQLContent])?

Sql.Database("server", "database", [Query=SQLContent])


Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LeanAndPractise(Everyday)


)



Amazing! Just out of curiosity, how was the development after implementing this method? Overall better?

In terms of performance, this mode isn't better than hard-coded PQ queries; the biggest advantage is segregation; front-end and back-end devs may focus on their domain respectively.



Expertise = List.Accumulate(


        {Days as from Today},


        {Skills and Knowledge},


        (Current, Everyday) => Current & Day.LeanAndPractise(Everyday)


)



Helpful resources

Announcements
PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Dashboard in a day with date

Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

Top Solution Authors