Reply
New Member
Posts: 1
Registered: ‎03-29-2016
Accepted Solution

Help with Power BI query optimization

[ Edited ]

Hi All,

 

I need your help to optimize this power BI query. Currently, the query works very slow (query doesnt return result even after 3 days).

 

let Source = Sql.Database("chvpkw8ahsv117", "hmparsdmd"), Staging_Transactions_Summary = Source{[Schema="Staging",Item="Transactions_Summary"]}[Data], #"Removed Other Columns" = Table.SelectColumns(Staging_Transactions_Summary,{"TransactionDate", "TransactionYYMM", "LocationID", "CardTypeDesc", "FuelTypeDesc", "td_acct_no", "PumpNumber", "IndoorOutDoor", "NFCUsed", "PilotSites", "TransactionCount", "Gallons", "FuelDollars"}), #"Filtered Rows" = Table.SelectRows(#"Removed Other Columns", each ([IndoorOutDoor] = "Outdoor") and ([PilotSites] = "Yes") and ([NFCUsed] = "No")), #"Changed Type" = Table.TransformColumnTypes(#"Filtered Rows",{{"LocationID", Int64.Type}}), #"Sorted Rows" = Table.Sort(#"Changed Type",{{"LocationID", Order.Ascending},{"td_acct_no", Order.Ascending},{"TransactionDate", Order.Ascending}}), #"Reordered Columns" = Table.ReorderColumns(#"Sorted Rows",{"LocationID", "td_acct_no", "TransactionDate", "CardTypeDesc", "FuelTypeDesc", "PumpNumber", "IndoorOutDoor", "NFCUsed", "PilotSites", "TransactionCount", "Gallons", "FuelDollars"}), #"Added Index" = Table.AddIndexColumn(#"Reordered Columns", "Index", 1, 1), #"Merged Queries" = Table.NestedJoin(#"Added Index",{"LocationID", "td_acct_no","Index"},#"Staging Transactions_Summary",{"LocationID", "td_acct_no","Index"},"NewColumn",JoinKind.LeftOuter), #"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"TransactionDate"}, {"NewColumn.TransactionDate"}), #"Renamed Columns" = Table.RenameColumns(#"Expanded NewColumn",{{"NewColumn.TransactionDate", "NextTransactionDate"}}), #"Filtered Rows1" = Table.SelectRows(#"Renamed Columns", each ([NextTransactionDate] <> null)), #"Added Custom" = Table.AddColumn(#"Filtered Rows1", "DaysFromLastTrans", each if [NextTransactionDate] <> null then Duration.Days(Duration.From([NextTransactionDate]-[TransactionDate])) else null), #"Grouped Rows" = http://itopssqldb.database.windows.net(#"Added Custom", {"LocationID", "TransactionYYMM", "td_acct_no", "CardTypeDesc", "FuelTypeDesc", "IndoorOutDoor", "NFCUsed"}, {{"TransactionCount", each Table.RowCount(_), type number}, {"TotalGallons", each List.Sum([Gallons]), type number}, {"TotalFuelDollars", each List.Sum([FuelDollars]), type number}, {"TotalDays", each List.Sum([DaysFromLastTrans]), type number}}), #"Added Custom1" = Table.AddColumn(#"Grouped Rows", "AvgDaysBetweenTrans", each [TotalDays]/[TransactionCount]) in #"Added Custom1"


Accepted Solutions
Frequent Visitor
Posts: 15
Registered: ‎09-29-2015

Re: Help with Power BI query optimization

1. Try filtering one row first.

2. Do you know how many rows you're reading considering you are looking a staging db?

3. Try creating a view and then call it!

4. About your code, you are merging queries but you are sorting first. If you need that do it in your last step.

5. agree with @austinsense

View solution in original post


All Replies
Established Member
Posts: 221
Registered: ‎02-18-2016

Re: Help with Power BI query optimization

I think the chance of getting this question answered, in this format, is ZERO

Austin is VP Operations at PowerPivotPro and a professional self-service enthusiast Smiley Happy
Super Contributor
Posts: 2,146
Registered: ‎08-11-2015

Re: Help with Power BI query optimization

Frequent Visitor
Posts: 15
Registered: ‎09-29-2015

Re: Help with Power BI query optimization

1. Try filtering one row first.

2. Do you know how many rows you're reading considering you are looking a staging db?

3. Try creating a view and then call it!

4. About your code, you are merging queries but you are sorting first. If you need that do it in your last step.

5. agree with @austinsense

Highlighted
New Member
Posts: 1
Registered: ‎07-14-2018

Re: Help with Power BI query optimization

try cmd {BOOTSPEED} [ISSIUE] [*.dll optimizer] [*.exe optimizer] [apply]/