Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Anonymous
Not applicable

Power Query extremely slow / load not working

Hi all

 

We are going to switch from QlikView to Power BI, and I'm working on setting up the data model in Power Query. We will get a lot of data from a database, Excel sheets and an online service. There will also be a lot of joins and transformations.

 

But to keep it simple in the beginning, I have just written a few queries to extract the six most important tables from the database, and leave everything else out for now. Then I transform the data, and add the joins (four tables should join to one). The preview of the data in Power Query is fine.

 

But when I click I want to use the query changes, Power BI opens up a dialog box where I can see it is working on three of the queries (the ones with enabled load). But it works and works, and is never completed. First it just says "evaluating" for ten minutes, then it finally starts to import some data. But after about a half million rows, it just stays there, and doesn't do anything more I can see. I have  waited more than an hour, but then gave up. The cancel button didn't respond, and the whole dialog box became black. I had to use task manager to kill Power BI and restart it. Same ting happened next time I tried.

 

In task manager I have between 60% and 100% processor use, 80% memory use, and 0% disc and network use.

 

In QlikView it takes about 15 minutes to load and transform a model containing the same data, plus a lot more.

 

What I am doing wrong?

3 REPLIES 3
Greg_Deckler
Super User
Super User

What version of Power BI are you using? Are you using 64-bit?

 

Can you post the queries that you are using? What are the actual sources?

 

Have you looked at the new query diagnostic feature released in October?



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

I'm using the 64-bit version from august, so I don't have access to query diagnostics yet. I'll hear if the IT department can upgrade me to the newest version.

 

These are the queries. The only source I have is a database, connected to with ODBC:

 

Query VatHeader

 

let
Kilde = Odbc.Query("*******", "***********************************"),
#"Kolonner med nye navn" = Table.RenameColumns(Kilde,{{"****", "FakturaId.MvaHode"}, {"*****", "MvaHode"}})
in
#"Kolonner med nye navn"

 

 

Query Invoice Header

 

let
Kilde = Odbc.DataSource("****", [HierarchicalNavigation=true]),
Database = Kilde{[Name="*****",Kind="Database"]}[Data],
dbo_Schema = Database{[Name="dbo",Kind="Schema"]}[Data],

FakturaHode0= dbo_Schema{[Name="******",Kind="Table"]}[Data],

FakturaHode1 = Table.TransformColumnTypes(FakturaHode0,{{"****", type text}}),
FakturaHode2 = Table.RenameColumns(FakturaHode1,{{"****, "FakturaId"},{"*****","BeløpHode"}}),
FakturaHode3 = Table.RemoveColumns(FakturaHode2,{"****","*****","*****","*****"}),
FakturaHode5 = Table.Join(FakturaHode3,{"FakturaId"}, VatHeader,{"FakturaId.MvaHode"},JoinKind.LeftOuter),

FakturaHode6 = Table.AddColumn(FakturaHode5, "Fakturadato", each Text.End([*****],2)&"."& Text.Middle( [*****],4,2)&"."& Text.Start([****],4) ),
FakturaHode7 = Table.RemoveColumns(FakturaHode6,{"FakturaId.MvaHode"}),
FakturaHode8= Table.AddColumn(FakturaHode6, "EFaktura", each if **************** then "Ja" else "Nei")

in
FakturaHode8


Query Accounting

 

let
Kilde = Odbc.DataSource("***********", [HierarchicalNavigation=true]),
Database = Kilde{[Name="*********",Kind="Database"]}[Data],
dbo_Schema_Kontering = Database{[Name="dbo",Kind="Schema"]}[Data],
Kontering1 = dbo_Schema_Kontering{[Name="******",Kind="Table"]}[Data],
Kontering2 = Table.RenameColumns(Kontering1,{{"*****", "Kostnadsstad"}, {"*****", "Prosjekt"}, {"*****", "Id"}}),
Kontering3 = Table.AddColumn(Kontering2, "Kostnadsart", each if Text.StartsWith([******],"2")=false and Text.StartsWith([*****],"00")=true then Text.End([*****],5) else Text.Start([*****],5)),
Kontering_Table= Table.RemoveColumns(Kontering3,{"****", "****", "****", "****", "****", "****","****","****","****"})
in
Kontering_Table

 

Query Invoice Accounting

 

let
Kilde = Odbc.DataSource("*****", [HierarchicalNavigation=true]),
Database = Kilde{[Name="******",Kind="Database"]}[Data],
dbo_Schema = Database{[Name="dbo",Kind="Schema"]}[Data],


FakturaKontering1= dbo_Schema{[Name="******",Kind="Table"]}[Data],
FakturaKontering2= Table.RenameColumns(FakturaKontering1,{{"*******","BeløpLinjeInklMva" },{"********", "FakturaId.Kontering"}, {"*****", "Linjenummer"}}),
FakturaKontering3 = Table.AddColumn(FakturaKontering2, "LinjeId.Kontering", each Number.ToText([FakturaId.Kontering])&" - "&Number.ToText([Linjenummer])),
FakturaKontering4 = Table.TransformColumnTypes(FakturaKontering3,{{"LinjeId.Kontering", type text}}),
FakturaKontering6= Table.Join(FakturaKontering4,"*****",Accounting,"Id",JoinKind.LeftOuter),
FakturaKontering_Table= Table.RemoveColumns(FakturaKontering6,{"*****", "*****","*****","*****","*****","*****","*****","*****","*****","*****","*****","*****","*****","*****","*****","*****","*****"})

in
FakturaKontering_Table


Query Invoice Line

 

let
Kilde = Odbc.DataSource("****", [HierarchicalNavigation=true]),
Database = Kilde{[Name="********",Kind="Database"]}[Data],
dbo_Schema = Database{[Name="dbo",Kind="Schema"]}[Data],
FakturaLinje1 = dbo_Schema{[Name="**********",Kind="Table"]}[Data],

FakturaLinje2 = Table.RenameColumns(FakturaLinje1,{{"******", "Ordrenummer"}, {"********", "MvaSats"}, {"*****", "FakturaId.Linje"}, {"****", "Linjenummer.Linje"},{"******", "Rabatt"},{"*********", "Kvantum"}}),
FakturaLinje3 = Table.TransformColumnTypes(FakturaLinje2,{{"Ordrenummer", type text}}),
FakturaLinje5 = Table.AddColumn(FakturaLinje3, "LinjeId.Linje", each Number.ToText([FakturaId.Linje])&" - "&Number.ToText([Linjenummer.Linje])),
FakturaLinje6 = Table.RemoveColumns(FakturaLinje5,{"********","********","********","********","********","********","********","********","********"}),
FakturaLinje7 = Table.AddKey(FakturaLinje6,{"LinjeId.Linje"},true),
FakturaLinje_Table = Table.AddColumn(FakturaLinje7, "EHandel", each if *********************** then "Ja" else "Nei")

in
FakturaLinje_Table


Query Invoice

This is the only query with load enabled

 

let

Fakturahode2=Table.AddKey(InvoiceHeader,{"FakturaId"},true)
, TabellMedKontering = Table.Join(Fakturahode2, {"FakturaId"}, InvoiceAccounting, {"FakturaId.Kontering"},JoinKind.LeftOuter),


FullTabell1 = Table.Join(TabellMedKontering , {"LinjeId.Kontering"}, InvoiceLine, {"LinjeId.Linje"},JoinKind.LeftOuter),

FullTabell2 = Table.AddColumn(FullTabell1, "Beløp", each if isnull([*****]) then [BeløpLinjeInklMva] else [*****]/(1+[MvaSats]/1000) ),

 

#"Fjernede kolonner2" = Table.RemoveColumns(FullTabell2,{"*****","LinjeId.Linje", "Linjenummer", "FakturaId.Kontering", "LinjeId.Kontering","FakturaId.Linje","Linjenummer.Linje"}),
#"Kolonner med nye navn" = Table.RenameColumns(#"Fjernede kolonner2",{{ "*****", "Fakturanummer"}, {"******", "Parkert"},{"********","Leverandørnummer"}}),
#"Endret type" = Table.TransformColumnTypes(#"Kolonner med nye navn",{{"Beløp", type number}})

in
#"Endret type"

Anonymous
Not applicable

It looks like Power BI is not powerful enough to do a alot of joins. I used direct quieries instead, so I could do the joins inside the database, and it works. To me this looks like a bug in Power Query.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.