I used SQL Server and a query that uses a CTE. It gives me an error "Incorrent syntax near the Keyword 'WITH'. ......."if this is a common table expression......previous statement must be terminated witha semicolon."
The query runs fine outside of Power BI. I tried putting a semi-colon before the 'WITH', but that didn't work. I see the data in the grid, but can't apply query changes and get the error
I agree with the poster. I also came across the issue with CTE at the final "Apply" stage of Power Query. And I had spent tons of time investigating what's the casue for it and finally got chance to read this post, which really does not make sense to me that it works out in the PowerQuery preview section but not working at the final applying section...
Yea we could definitely rewrite the query without using CTE, but just as a user persective, this is just not making sense and I would definitely think it's the limitation of the SQL compiling in PowerBI
Are you accessing a view that uses a CTE or did you write a SQL query that uses a CTE?
If it's the latter, then I'd suggest creating a view and then querying the view.
Gotcha, putting a custom sql query into the query builder is not recommended - as you can see
Here are your options ...
1. Create a view - sounds like this isn't an option for you
2. Re-write the query without using a CTE - that would be a good test of your SQL skills
3. Stop using the custom sql code, query the underlying tables using the GUI, and use PQ to create the output you want - that would be a good test of your PQ skills
I am not sure why it isn't recommended. I don't see the documentation saying that and I don't see a list of query limitiations.
I am evaluating Power BI to determine in my organization wants to buy and use it as a visualization tool. I am not trying to "test my skills". I am trying to evaluate products to see how they work (or if they work in this case).
I cannot import the tables and join them because they are too large. I cannot use Direct Query because it doesn't support many to many relationships. All I see are a lot of llmitations.
Power BI is supposed to be self-service. That typically means not writing views or stored procedures (and generally not CTEs) and if a feature is there, I expect it to work.
your issue and thoughts about it are exactly what I'm facing today. Would be nice if it jsut passed through the query and used the results like it does in the preview. My query also works fine in PowerPivot with a recursive CTE and I was just trying it in Power BI but the same code in Power BI isn't accepted. cheers
Using Power BI Desktop (October 2017), I was able to use CTE query with an OLE DB connection to the SQL Server.
So, Power BI does support CTE.
Yes, this is still correct in Power BI Desktop November 2019 - confirmed it works ONLY through a OLE DB connection to SQL rather than through the SQL connection in Power BI. I came across the issue with CTE at the final "Apply" stage of Power Query with a Direct Connection and while the preview was working, the Apply and Close would fail with the same message as OP's. Using JimJao's fix with Ole DB I got it to Apply and Update. So it seems to be a bug in the SQL connector.
I was getting the issue when using Direct Query with custom sql containing CTEs. I just re-wrote the query to have sub queries rather than the CTEs and it works fine now.
Using Power BI Desktop (October 2017), I was able to use CTE query along with an OLE DB connection to the SQL Server.
This is no longer truth.
FYI, most people start these conversations with "thanks for trying to help me ..."
Writing custom SQL query generally works just fine - it's just recommended that you don't do it that way, that you create a view. Along those lines self-service BI doesn't mean that people are going to write SQL queries with CTEs to access the data, so I don't see not being able to do that in the tool as a major limitation to self-service BI. The only limitation that you have here is that you need a view created in your database, and that's not a limitation of this product.
To get around the limitation of creating a view, this solution does allow you (as a self-service tool) to take the tables out of your database and do the joining yourself using the query editor GUI. Your data must be very, very large if you can't get that to work in Power BI, and if your data is that large I'll ask you again, why aren't you doing that in a view in your database? If you have a nail that you need to put in a wall and you reach in your bag and get a screwdriver, well I don't think that's the screwdriver's fault.
One last point, I realize you're not trying to "test your skills" but I will say that this product is not BI magic dust - it does require some skills to use. If you're the type of person that can write a SQL query with a CTE then you'll be able to figure it out. Unless you don't want to figure it out.
I do appreciate any help. I was just hoping for an answer as to why it doesn't work rather than how to work around it. If there are limitations in queries in Power BI, that really should be documented by Microsoft.
This would be used with a data warehouse, so the tables often have millions of rows.
As a developer, of course I can write queries (or views or stored procedures), but management doesn't really understand how this all works and thinks anyone can get a tool and drag tables and fields around and get reports and visualizations. They see a 2 hour demo and think it is so easy (which it is if you know the tool and have cultivated data). At a minimum, I believe unless your dataset is small and/or carefully cultivated, IT (or technical business people) needs to create views, cubes or queries.
I completely understand that that is not a Power BI limitation strictly, but a self-service limitation that all these tools have.
I'm going to communicate this all to my client, and if they don't buy it suggest they have several potential report writers try and create reports with the data warehouse as is.
Ok, cool we're on the same page
We build and work with models pretty regularly that have 10 million+ rows in them so I'm curious what issues you're having - is Power BI throwing out some kind of error when you try to bring in your data? Someone from this community could definitely help you work through this issue.
The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.
Mark your calendars and join us on Thursday, June 30 at 11a PDT for a great session with Ted Pattison!
Join us on June 20 at 11 am PDT when Kim Manis shares the latest on Azure Synapse analytics, the Microsoft Intelligent Data Platform, and notable Power BI Updates from Microsoft Build 2022.