Hi all,<p>I've spent the past 4 years working as a data analyst and analytics engineer. One of the biggest pain points for analysts is that, even with tools like Looker and Tableau, they still spend a ton of time answering fairly simple questions from less-technical users instead of doing high-value analytics.<p>Often as a data analyst I've felt like a computer translating requests from English into SQL. That got me wondering - could an actual computer do it instead?<p>For a while, I thought the answer was "no" (or at least not in the near future). But then OpenAI's Codex[0] was released. I started using GitHub Copilot[1] every day while writing SQL in Visual Studio, and it felt like magic. The autocomplete was getting my code right a lot of the time, even for complex SQL queries.<p>So I decided I'd give this a go. I've built a demo using the Codex API and dbt Labs's "Jaffle Shop" example database, which will be familiar to many in the Analytics Engineering community. It's a simple database, but the results are promising. The demo app gets a lot of queries right, and it does so <i>without any database-specific logic</i>.<p>The only input needed is a schema.yml file describing the tables and columns (which any dbt project would have) and 2 or 3 example queries, so I am hoping to open up testing to more data warehouses and users in the near future.<p>I hope you enjoy using the demo. If you have any feedback, ideas, or would like to test it out on your own data warehouse, my email is in my bio!<p>[0] <a href="https://openai.com/blog/openai-codex/" rel="nofollow">https://openai.com/blog/openai-codex/</a>
[1] <a href="https://copilot.github.com/" rel="nofollow">https://copilot.github.com/</a>
Tried the demo - it seems it doesn't recognize names (values) yet, for example "howard sum amount" leads to simply 'SELECT sum(amount) FROM orders'.<p>Our SeekTable has similar function where values could be matched too -- but instead of SQL result is a report configuration: <a href="https://www.seektable.com/help/search-driven-analytics" rel="nofollow">https://www.seektable.com/help/search-driven-analytics</a><p>Interesting that on practice this function is rarely used by end-users, and because of this we didn't evolve this function.
great job. it works seamlessly. I like the fact that you show the underlying sql so that we know if it is wrong and edit it if needed. Some other tools just don't show you how the magic is made and you cannot be 100% certain if data result is correct