diff --git a/documentation/sidebars.js b/documentation/sidebars.js
index 6b70f145..61d4509d 100644
--- a/documentation/sidebars.js
+++ b/documentation/sidebars.js
@@ -449,6 +449,7 @@ module.exports = {
"third-party-tools/grafana",
"third-party-tools/kafka",
"third-party-tools/redpanda",
+ "third-party-tools/powerbi",
"third-party-tools/pandas",
"third-party-tools/prometheus",
"third-party-tools/qstudio",
diff --git a/documentation/third-party-tools/overview.md b/documentation/third-party-tools/overview.md
index 58e23a52..42adaa55 100644
--- a/documentation/third-party-tools/overview.md
+++ b/documentation/third-party-tools/overview.md
@@ -43,6 +43,7 @@ integrations:
Enhance your data analysis and processing capabilities with QuestDB through
these tools:
+- [**PowerBI**](/docs/third-party-tools/powerbi/): Create interactive data visualizations and dashboards.
- [Pandas](/docs/third-party-tools/pandas/): Analyze [time-series data](/blog/what-is-time-series-data/) in Python
with powerful data structures.
- [MindsDB](/docs/third-party-tools/mindsdb/): Build machine learning models for
diff --git a/documentation/third-party-tools/powerbi.md b/documentation/third-party-tools/powerbi.md
new file mode 100644
index 00000000..3b169d6f
--- /dev/null
+++ b/documentation/third-party-tools/powerbi.md
@@ -0,0 +1,135 @@
+---
+title: PowerBI
+description: "Guide for using PowerBI with QuestDB. Use the top performing QuestDB database to build your PowerBI dashboards."
+---
+
+import Screenshot from "@theme/Screenshot"
+
+This guide demonstrates how to connect QuestDB with Microsoft PowerBI to create
+interactive data visualizations and dashboards.
+
+## Prerequisites
+
+- [QuestDB](/docs/quick-start) running locally or remotely
+- [PowerBI Desktop](https://powerbi.microsoft.com/) installed
+
+## Connection Setup
+
+QuestDB utilizes a fully featured PostgreSQL Wire Protocol (PGWire). As such,
+setup for PowerBI mirrors the standard PostgreSQL connection setup. The benefit
+is the performance profile of QuestDB, and its powerful time-series SQL extensions,
+with the simplicity of the PGWire protocol.
+
+
+1. Open PowerBI Desktop
+
+2. Click "Get Data" in the Home tab
+
+
+
+3. Select "Database" → "PostgreSQL"
+
+
+
+4. Enter your QuestDB connection details:
+ - Server: `localhost` (or your server address)
+ - Database: `qdb`
+ - Data Connectivity mode: `Import`
+ - Advanced options (optional):
+ - Port: `8812` (default QuestDB PGWire port)
+ - Command timeout: Adjust based on your query complexity
+
+5. Select:
+ - Database authentication:
+ - User: `admin`
+ - Password: `quest`
+
+6. Click "Connect"
+
+## Working with Data
+
+1. In the Navigator window, select the tables you want to analyze
+2. Click "Transform Data" to modify the data or "Load" to import it directly
+3. Create visualizations by dragging fields onto the report canvas
+4. Save your report and publish it to PowerBI Service if needed
+
+## Using Custom SQL
+
+To leverage QuestDB-specific features like `SAMPLE BY` and `LATEST ON`, you can use custom SQL:
+
+1. In the "Get Data" dialog, click "Advanced options"
+2. Enter your SQL query in the "SQL statement" field
+3. Click "OK" to execute
+
+> Remember, you must include a timestamp column when using functions like `SAMPLE BY`.
+
+Here are some useful query examples:
+
+```questdb-sql
+-- Get 1-hour samples of sensor readings
+SELECT
+ timestamp,
+ avg(temperature) as avg_temp,
+ avg(humidity) as avg_humidity
+FROM sensors
+WHERE timestamp >= dateadd('d', -7, now())
+SAMPLE BY 1h;
+
+-- Get latest reading for each sensor
+SELECT * FROM sensors
+LATEST ON timestamp PARTITION BY sensor_id;
+
+-- Combine SAMPLE BY with multiple aggregations
+SELECT
+ timestamp,
+ symbol,
+ max(price) max_price,
+ min(price) min_price,
+ avg(price) avg_price
+FROM trades
+WHERE timestamp >= dateadd('M', -1, now())
+SAMPLE BY 1d
+ALIGN TO CALENDAR;
+```
+
+## Best Practices
+
+- Leverage [timestamps](/docs/guides/working-with-timestamps-timezones/) functions for time-series analysis
+- Explore various [aggregation functions](/docs/reference/function/aggregation/) to suit your data needs
+- Consider using powerful [window functions](/docs/reference/function/window/) to perform complex calculations
+- For large datasets, use incremental refresh in PowerBI
+
+## Caveats
+
+### Date Table Limitations
+
+QuestDB currently cannot be used as a source for PowerBI's "Mark as Date Table" feature. This means:
+
+- You cannot mark QuestDB tables as date tables in PowerBI
+- Some time intelligence functions in PowerBI may not be available
+- If you need date table functionality, consider creating it in PowerBI or using another data source
+
+:::tip
+
+If you'd like QuestDB to support this feature, please add a 👍 to [this GitHub issue](https://github.com/questdb/questdb/issues/5208).
+
+:::
+
+## Troubleshooting
+
+- If connection fails, verify your QuestDB instance is running and accessible
+- Ensure PGWire is enabled in your QuestDB configuration
+ - `pg.enabled=true` - see [configuration](/docs/configuration/) for more details
+- Check that the port `8812` is open and not blocked by firewalls
+- For timeout errors, adjust the command timeout in advanced options
+
+## Further Reading
+
+- [QuestDB PGWire](/docs/reference/api/postgres/)
+- [PowerBI Documentation](https://docs.microsoft.com/en-us/power-bi/)
\ No newline at end of file
diff --git a/static/images/docs/powerbi/powerbi-1.webp b/static/images/docs/powerbi/powerbi-1.webp
new file mode 100644
index 00000000..70f128fd
Binary files /dev/null and b/static/images/docs/powerbi/powerbi-1.webp differ
diff --git a/static/images/docs/powerbi/powerbi-2.webp b/static/images/docs/powerbi/powerbi-2.webp
new file mode 100644
index 00000000..04c8c62b
Binary files /dev/null and b/static/images/docs/powerbi/powerbi-2.webp differ