Skip to content

Power BI specialist Amsterdam

From Amsterdam, we build Power BI models on a well-organised data platform, like the one we developed for the Koninklijk Concertgebouworkest.

Our data platform makes the Koninklijk Concertgebouworkest’s information quicker to find

The orchestra’s information was scattered across different systems, archives and data sources. We connected, structured and standardised that data in a data platform on Databricks and Azure, using Delta Lake, Unity Catalog and dbt.

Read the case study

Why does each department report a different number of tickets sold?

Marketing counts tickets by sale date, management by performance and grant reporting by calendar year. One of our Power BI specialists brings these figures together in a single model, with agreed definitions for each season and venue.

Book a call

Reporting for a performing arts venue accounts for seasons, halls and ticket sale dates

Discuss your reporting

Seasons alongside calendar years

According to Microsoft, a date table does not have to follow the calendar year. This lets you report by season while still accounting for results by calendar year.

Sales and performances kept separate

A ticket sold in spring for a concert in autumn: with two date roles in the model, you can see both points in time.

On the platform already in place

Power BI reads from Databricks SQL warehouses. For Koninklijk Concertgebouworkest, we built the data platform on Databricks and Azure.

Bring ticket data together first

Ticket sales and visitor behaviour need to be brought together in one place first. For See Tickets, we combined ticket and behavioural data on a scalable Azure platform.

Every count gets a definition before a report is produced

  1. Counts side by side

    What reports are available, who counts tickets, visitors or revenue, and what definitions and periods do they use?

  2. Build one model

    A star schema with performances, venues, sales channels and a date table that includes the season, built on your data sources or platform.

  3. Refresh and manage

    Incremental refreshes, role-based access and version control. After that, your own team manages the model, or we do.

Is the report from our ticketing system still enough?

Talk it through with us

A good fit if

Ticket sales, visitor numbers and finances sit in different systems, departments count things differently, and you want to see the same figures for each season, venue and performance.

Not a good fit if

You use a single system and its standard report is sufficient, or no one is responsible for the definitions. In that case, a report from that system—or addressing data governance first—makes more sense.

What determines the scope

The number of sources, whether you already have a data platform, how many past seasons you want to see, how many roles need access and who will manage the model afterwards.

Do you need a platform first?

Not always. With one or two sources, Power BI can work with them directly. If you combine ticket sales, archives, fundraising and finances, a data platform underneath provides a more solid foundation.

Directly at the source, on Fabric or on Databricks: where does your model sit?

Directly at the source

Choose this if one system, such as ticketing, answers most of your questions. If that system is on your own network, data refreshes through a gateway.

On Microsoft Fabric

Choose this if you already use Microsoft 365 and mainly want to report on data from multiple sources. It’s our recommendation when reporting is the main focus; see Fabric.

On Databricks

Choose this if you have large or varied data sources, such as archives, or expect to add models later. This is how we built the platform for the Concertgebouworkest.

From Westerdoksdijk, we’ve already built solutions for an orchestra and a ticketing platform

Data Science Lab has worked with data and AI since 2016, from our office on Westerdoksdijk in Amsterdam. We’re a Microsoft Partner for Fabric and a Databricks Partner, and have worked with clients including the Koninklijk Concertgebouworkest and See Tickets.

Book an introductory meeting

We compare your counts by season and hall in our first meeting

Stef Stoelwinder

Stef Stoelwinder

Business Development

Stef is your first point of contact. In our first meeting, we discuss your reports, your sources and how you count a season.

Which season, venue or ticket sales figures do we need to get right?

Tell us which reports and sources are involved. We’ll reply by email or arrange an initial conversation.

Enter a valid email address.

Let us know how we can help you.

Frequently asked questions

They build the layer between your data sources and the report everyone opens: how the tables relate, where revenue and occupancy rates are calculated, and who can see what. Whether you call them a Power BI specialist, Power BI consultant or Power BI expert, the work is the same.

For a cultural organisation, performances, venues, sales channels and seasons are the building blocks of that model. To see how we set up Power BI across sectors, from data model to management, read about our Power BI consultancy.

Organisations receiving a four-year grant under Amsterdam’s Kunstenplan 2025-2028 must, under the rules of the Amsterdams Fonds voor de Kunst, report each year on the previous calendar year. This includes annual accounts and a board report. Many organisations, however, plan their programmes and ticket sales by season.

Microsoft states that a date table must cover complete years, but those years do not have to be calendar years. Add a season column alongside the calendar year and you can report on both from the same model. For more on data in the sector, read about data and AI for the cultural sector.

By giving the date two roles. Microsoft calls this a role-playing dimension: a dimension that filters the same facts in different ways, such as by order date, shipping date or delivery date. Only one relationship between two tables can be active in Power BI. That is why you often create a separate date table for each role, using Power Query or a calculated table in DAX.

For a venue, those roles are the sale date and the performance date. You can then see how sales for a concert built up in the preceding period and compare them with the same performance in a previous season.

Yes. According to the Azure Databricks documentation, you can connect Power BI Desktop to clusters and Databricks SQL warehouses, and publish data from Azure Databricks to the Power BI service.

If you want to refresh the semantic model when processing on the platform is complete, you can use a Power BI task in a Databricks job. First, you create a Power BI connection in Unity Catalog. The platform we built for the Koninklijk Concertgebouworkest runs on Databricks and Azure, with Delta Lake, Unity Catalog and dbt.

You can use an on-premises data gateway: Windows software installed locally that connects the Power BI service to sources on your own network. The gateway uses outbound connections, so you do not need to open inbound ports.

You do not need to reload ticket sales from previous seasons with every refresh. With incremental refresh, Power BI divides the table into partitions and refreshes only the recent period; the historical data stays in place. This also works with a Pro licence.

Yes, using row-level security in the semantic model. A role is given a DAX filter, for example to show only performances in its own venue, and you assign people or groups from Microsoft Entra ID to that role in the Power BI service. The filter only applies to the Viewer role; a workspace admin, member or contributor can see everything.

You decide which data about individual ticket buyers belongs in a report with your privacy officer. A count per performance is often enough.

Yes. Data Science Lab has its office on Westerdoksdijk in Amsterdam. We can have an initial conversation at your office, at ours or online.

If you are looking for someone to work alongside your team on reports and models for a period, read about hiring a BI consultant. If you want a completed report delivered as a project, we can discuss that in the initial conversation.

When the standard report from your ticketing system already provides what the management team needs, and nobody combines those figures with other sources. If the problem lies with definitions or ownership, a new report will do little to help: start with data governance instead.

If you want a single, clearly defined report delivered, read how we build Power BI dashboards around the decision they need to support.