View Categories

Power Query for Google Sheets

Google Sheets · Power Query equivalent

Google Sheets has no Power Query. This is the equivalent for database data.

Sheets’ own QUERY() only reshapes cells already in the spreadsheet, and Connected Sheets reaches BigQuery alone. To pull live rows from SQL Server, PostgreSQL, MySQL or any other database into a tab and refresh them on a click, you install a small Agent next to the database and use the Query Streams add-on. No Apps Script, no exports, no credentials in the sheet.

About 10 minutes No Apps Script Data stays on your network The Free plan covers it
Stuck at any point? Just ask us. Open Support in Query Streams (top-right menu → Support) and send us a message. Real people read it, and “I don’t know what this screen is asking for” is a perfectly good question.

The short answer

No, Google Sheets does not have Power Query, and Google has not announced one. What it has instead falls into three buckets, and which one you need depends on where the data is:

Your data is in…What Google gives youWhat it does
Cells in the same spreadsheetQUERY(data, query)Filters, groups, pivots and sorts a range with a SQL-like language. It cannot open a connection to anything outside the sheet.
BigQueryConnected SheetsLive pivots and charts over BigQuery tables. BigQuery only, and you need a Google Cloud project with billing.
A database of your own: SQL Server, PostgreSQL, MySQL, Oracle…Nothing built inYour options are Apps Script’s JDBC service (code, quotas, a firewall allowlist — see the honest version), an importer add-on that copies rows on a schedule, or a live connector like the one below.

The rest of this page is the third row: how to get live database rows into Google Sheets with a Run Query button, what it costs, and where Excel’s Power Query is still the better tool.

What you’ll end up with

Google Sheets logoA tab that holds the result of a SQL query against your database, and a side panel with a Run Query button that pulls the latest rows whenever you want them. Like this:

The query runs on a computer that can already reach your database, not in Google’s cloud and not in the sheet. A small program called the Agent sits there, makes one outbound connection to Query Streams, runs the SQL and streams back only the rows. The add-on in Sheets asks for those rows and lays them out under your headers. The database password stays on the Agent; nobody who opens the sheet ever sees it.

WHERE THE DATABASE LIVESyour office network or server roomYour own databasestays on your networkQuery Streams Agenton the same networkQuery Streamsencrypted linkover the internet · results onlyWHEREVER YOU AREany browser: laptop, tablet, phone, ChromebookGoogle Sheetsrows arrive in a sheet
The Agent lives with your data. Your sheet lives in Google’s cloud. Open it anywhere and the rows come to you.

What you’ll need

A Query Streams account

The Free plan is enough for this guide. Sign up at my.querystreams.com.

The Agent on a computer that can reach the server

A small program that runs in the background and queries the database when Google Sheets asks. Often the database server itself, or any always-on computer on the same network.

Your own connection details

The server name, the database name, and a username and password that can read it. If someone else manages the database, this is the bit to ask them for.

Which computer gets the Agent? Any always-on machine that can already reach your own database, often the database server itself or a computer on the same network. Google Sheets can be anywhere; it runs in your browser.

Set it up in four steps

  1. Create your account

    Go to my.querystreams.com and sign up with the Google account you use for Sheets. Pick the Free plan. It is a real plan, not a trial, and it covers two connections and ad-hoc SQL from Google Sheets.

  2. Install the Agent on a computer that can reach the server

    Sign in, open Download, and install the Agent on a machine that can already reach your own database: often the database server itself, or any always-on computer on the same network. It takes a minute and starts on its own from then on.

    Why a small program instead of a driver? The Agent is one install for Windows, Mac or Linux (about 85 MB on Windows, a little over 100 MB on Mac and Linux) that runs quietly in the background. It makes one outbound, encrypted connection to Query Streams, the same way a browser does, so you open no firewall port and set up no VPN. Your database stays on your network, and the rows travel to wherever you are, across the internet if need be. The only thing on your side is the add-on.

    The Download page shows Your Access Key. Paste it into the Agent when it asks, and wait for the badge to read Connected to Query Streams. That is the only thing you do on the Agent itself.

    Full walkthroughs if you want them: Windows, Mac, Linux.

  3. Add your database connection

    In the portal open Data → Data Agents, click Add connector on your Agent, choose the database type and fill in the host, port, database and a read-only login. Click Test connection; when it reads Connected, pick the databases to include under Schema capture and click Save.

    Nothing to open on the firewall. The Agent connects to your database from inside your network and to Query Streams outbound over HTTPS. There is no Google address range to allow and nothing to keep in step with.

  4. Run the SQL from Google Sheets

    Open your spreadsheet and install the Query Streams add-on from the Google Workspace Marketplace if you have not yet. It recognises the Google account you are already signed in with; there is no separate login. Open it from the icon in the side panel on the right (it is also under Extensions), click Query Streamer, pick your connection and paste a query:

    Example · SQL
    SELECT customer_id, name, city
    FROM customers
    ORDER BY name
    LIMIT 1000;

    Choose the tab under Destination Sheet and click Run Query. The rows land under your column headers. Click Run Query again whenever you want the latest data. To have the tab refresh on its own, save the query in Query Builder and set up an Automation, every five minutes to weekly.

That’s it. Your data is in the sheet and stays current with one click. Nothing left your network except the rows you asked for.

Power Query vs this, only what holds up

Excel’s Power Query is two things in one: a connector to hundreds of sources and an editor with several hundred transformations that you can replay. Query Streams is the first half done differently, and deliberately not the second. Side by side:

Excel Power QueryQuery Streams in Google Sheets
What you writeClicks in the editor, recorded as MThe SQL, or nothing if a colleague shared the query
Where the query runsOn your computer, in Excel’s engine; parts that fold run on the sourceOn the Agent, next to the database; the whole query, always
Reshaping dataIts strength: merge, append, pivot, unpivot, hundreds moreWhatever SQL can express; do the rest in the sheet
Combining sourcesMerge or Append steps; each source is loaded into the workbook first; privacy levels decide what may fold togetherOne federated SQL statement across two or more connections, each queried read-only by its own Agent and joined for you; on every plan
RefreshManual, on open, or every N minutes while the workbook is openRun Query when you want it, or an Automation on a schedule with nothing open
Where the database login livesIn the workbook’s connection, on each user’s computerOn the Agent only; sheet users never see it
Giving a colleague the dataSend the workbook; they need the same drivers and accessShare the query’s results; they click Run Query
Works in Google SheetsNo. Excel for Windows and Mac onlyYes, any browser

Combining sources: Power Query’s strongest card, and the answer to it

The one thing Power Query users miss most in Sheets is merging two sources. Query Streams does that with a federated query: one SQL statement over two or more connections. In the Query Builder choose New Query → Federated query, pick the connections (each gets an alias), and name tables as alias.schema.table. The connections can be different engines — SQL Server, PostgreSQL, MySQL, MariaDB, Oracle, Snowflake, BigQuery and more SQL Server, PostgreSQL, MySQL, MariaDB, Oracle, Snowflake, BigQuery and more — or an API connector or a folder of files, each behind its own Agent. Query Streams sends each source only its piece, in that engine’s dialect, read-only, and joins the returned rows itself. The Plan tab shows exactly what each database will be asked before you run.

Federated query · one SQL statement over two connections
SELECT o.order_id, o.total, c.name, c.city
FROM shop.public.orders AS o
JOIN crm.dbo.customers AS c ON c.customer_id = o.customer_id
WHERE o.ordered_at >= '2026-09-01'
ORDER BY o.total DESC;

Save it once and it runs unchanged from the Sheets add-on, Excel, the REST API, Claude via MCP and scheduled syncs. It is on every plan, including Free, which joins two connections and returns up to 250 rows. Today a federated statement is a single SELECT with joins, filters, grouping and window functions; CTEs, sub-queries and UNION are not supported yet. How federated queries work.

When Power Query is still the right tool

If your work is shaping data — joining five spreadsheets, unpivoting a report, cleaning a column of dates — and it lives in Excel, keep Power Query. Nothing here replaces the editor. If you are on Google Sheets, or the job is “get the current rows from the database into a tab that other people refresh,” that is the job this page is about.

What the plans allow

Ad-hoc SQL from the Google Sheets add-on is on every plan, including Free. Free includes two connections and a monthly data allowance of 5 MB of results, enough for a table like the one above refreshed many times a day. Running queries you saved in Query Builder from the add-on starts at Personal Core; queries a colleague shares with you run on every plan. Compare the plans.

Free is a plan you keep. It is not a trial that expires. See exactly what it includes on the pricing page.

Questions people ask

Does Google Sheets have Power Query?

No. Power Query is part of Excel for Windows and Excel for Mac, and of Power BI. Google Sheets has QUERY() for data already in the sheet and Connected Sheets for BigQuery. For any other database you add something: Apps Script code, an importer add-on, or a live connector such as Query Streams.

Is there an official Power Query equivalent for Google Sheets?

Google’s official database connector is Connected Sheets, and it connects to BigQuery only. There is no official equivalent for SQL Server, PostgreSQL, MySQL or Oracle.

Can I run my existing Power Query queries in Google Sheets?

Not as they are. M queries only run inside Excel or Power BI. The part that fetched the data becomes a SQL query in Query Streams; the reshaping steps either move into that SQL or into the sheet.

Does the tab refresh by itself?

Click Run Query and it refreshes. For hands-off refresh, save the query and create an Automation that writes to the tab on a schedule, from every five minutes to weekly, with the spreadsheet closed.

Where does the SQL run, and can it change my data?

On the Agent, against your database, read-only: the Agent refuses anything that is not a SELECT. The sheet only ever receives rows.

Does your own database have to be on the computer I use Sheets on?

No. Only the Agent has to be where your own database is. Google Sheets runs in your browser on any device. Open the add-on with the same Google account and your connections are there.

Does my data get copied to Query Streams?

No. The Agent runs the query where your data is and sends only the rows it returns. Nothing is synced or stored in between.

Does the Free plan really cover this?

Yes. Free is a plan you keep, not a trial that expires. See exactly what it includes on the pricing page.

Does the sheet refresh by itself?

Click Run Query again whenever you want the latest rows. For a sheet that refreshes on a schedule without anyone pressing anything, set up an Automation in the Query Streams portal (Streams → Automation). It is on every plan.

Still stuck? Open Support in Query Streams and tell us which step you are on and what you see. We will get you connected.
Query Streams also connects the same data toExcelClaude, Cursor and ChatGPTa REST APIand more

Setup trouble?

  • Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?
Updated on September 28, 2026

Powered by BetterDocs