Ten Years as a Microsoft MVP

Ten years. I keep counting it on my fingers like it might come out different the next time. It does not.

In early 2017, Microsoft awarded me the Data Platform MVP for the first time. I had been speaking at community events for about four years at that point, starting with a shaky user group presentation in Copenhagen and gradually building up to SQLSaturdays across Europe. When the notification mail arrived I read it three times. Then I called my wife. Then I read it again.

What I did not anticipate was how much the platform itself would transform in the decade ahead, or how completely my own technical identity would change alongside it. This is a reflection on both.

2016: On-premises and proud of it

When the MVP journey began, my world was SQL Server. Specifically, Analysis Services Multidimensional. I wrote MDX for a living, tuned partition strategies, scripted deployments in PowerShell, and built dimension security models with AMO. The toolchain was mature, the community was tight, and the assumption was that your servers lived in a rack somewhere you could point to.

Azure existed, of course. It was about six years old. But for most of us in the BI world it still felt like someone else’s problem. Azure SQL Database was limited. Azure Analysis Services was in preview. The idea that a serious analytical workload could run entirely in the cloud was something you heard at conference keynotes and politely ignored on Monday morning.

I remember attending a PASS Summit session around that time where someone demoed Azure Data Lake by showing a slide deck of screenshots. With errors in them. That was the state of cloud analytics in our corner of the Microsoft ecosystem. Promising on paper. Not quite there in practice.

2017 to 2020: The cloud came whether we were ready or not

Each year I renewed the MVP award, Azure had added another service that pulled more of my on-premises workload toward the cloud. Azure Data Factory replaced chunks of what SSIS used to do. Azure Synapse started absorbing the data warehouse conversation. Managed identities appeared, and with them a new category of debugging I had never encountered before: authentication that worked in test and mysteriously failed in production with no clear error message.

The learning curve was not optional. I recertified Azure exams not for the credential itself but because the platform had changed enough that I needed to confirm I still understood what I was deploying. Every renewal cycle felt like a different job.

During this same stretch, Power BI went from “promising” to “the center of gravity for everything Microsoft BI.” It shipped in mid-2015, and within two years the conversation at every community event had shifted from “should we look at Power BI?” to “how do we govern hundreds of workspaces?” I took over running the Danish Power BI User Group and watched it grow past 2,000 members. The problems I solved daily moved from MDX tuning to DAX optimization, from partition scripting to deployment pipelines and semantic model management. Different skill set. Same instinct: figure it out, test it, share what happened.

2021 to 2023: The convergence

Then the pieces started merging. Azure Synapse tried to be the unified analytics service. Power BI Premium brought dataset hosting into the cloud. Microsoft kept drawing a tighter circle around what had been separate products, pushing toward something integrated.

And then Fabric arrived.

Announced at Build in May 2023, generally available by November that year. Within months it had absorbed the Power BI service, introduced Lakehouses, OneLake as a unified storage layer, Data Pipelines, and Notebooks as a first-class authoring experience. The pitch was simple: one platform for data engineering, data science, real-time analytics, and business intelligence. No more stitching five Azure services together and hoping the authentication tokens lined up.

2024 to now: A different job

The speed of Fabric’s evolution catches me off guard sometimes. I spent years becoming deeply skilled in SSAS Multidimensional. That knowledge still informs how I think about models, but it is no longer the center of my work. The architecture underneath shifted fundamentally. Lakehouses replaced cubes. Notebooks replaced XMLA scripts. Semantic models became the new version of what we used to call datasets, which themselves replaced what we used to call cubes.

Each rename is not just marketing. Each one reflects a genuine change in how the technology works and what you can build with it.

Today I write Python in Fabric Notebooks to snapshot and diff semantic model metadata. Materialized Lake Views went GA. Fabric IQ brought SQL-familiar tooling to the Lakehouse. I have found myself using AI to reverse-engineer Power BI models and building open-source tooling on top of the Tabular Object Model through semantic-link-labs. The problems I solve in 2026 look nothing like the problems I solved in 2016.

What stayed the same

The community.

That is the thread that runs through all ten years without interruption. The tools changed completely. The community changed shape too, but it did not break. PASS dissolved. SQLSaturday became Data Saturday. The #sqlfamily hashtag gave way to broader data community networks. But the people kept showing up.

The person who initially nominated me for the MVP award: Mark Broadbent (l|b|m|x). The organizer who let me both speak and help run events for years. The group of Danes who went to dinner together after Summit sessions in Seattle. The local organizers in Dublin, Gothenburg, Chicago, Prague, Pittsburgh, New York, Krakov, Stockholm, London, Newport, Cambridge, Hanau, Munich, Thorshavn, Utrecht…, who each time made space for someone to come talk about whatever they had just figured out. Every one of those moments is part of this decade.

I still organize Data Saturday Denmark. Some years it goes smoothly. Some years 95 people register and do not show up, and you have to write the uncomfortable post about it, with new rules and transparent reasoning, because that is what organizing actually looks like: not just running the event but protecting its future.

The parallel timelines

If I map my MVP journey against the platform’s, the parallels are hard to miss:

When I got the award, the platform was SQL Server with Azure as a sidecar. My expertise was multidimensional cubes and MDX. The community gathered under the PASS umbrella.

Five years in, the platform was Azure-first with Power BI as the analytical surface. My expertise had shifted to data modeling, deployment pipelines, and cloud administration. The community was regrouping after PASS shut down.

Now, at ten years, the platform is Fabric. My expertise is Lakehouses, semantic models, Notebooks, and AI-assisted development. The community runs on Data Saturdays, LinkedIn, and local user groups that feel smaller but more committed.

Three different jobs descriptions (same place) over one continuous award. The MVP title stayed the same on paper. Everything underneath it turned over at least twice.

What I take from it

I do not have a tidy lesson. I have an observation. The practitioners who stayed relevant through these shifts were not the ones who predicted the roadmap correctly. They were the ones who kept testing things with real data, publishing their mistakes, and showing up to events where they might learn something new. That is what I tried to do. Some years better than others.

Ten years. Same instinct, completely different platform.

OneLake – External Data Sharing

At #MSIgnite Microsoft announced a new feature in Fabric that allows people from one organization to share data with people from another organization. You might ask yourself why is this even news, and rightly so. Up until last week, professionals have had to use tools like (S)FTP clients like FileZilla, Azure Storage Explorer, WeTransfer or similar products in order to share data. Some of these tools are in fact hard to use and/or understand for a great number of business users – they are familiar with Windows and the Office suite and not much more. This is all to be expected, as business users in general should focus on business stuff rather than IT stuff.

As of last week this picture has changed quite dramatically as Microsoft has introduced what they refer to as External Data Sharing in Microsoft Fabric. Even though this new feature involves some configuration from the IT department, once it’s setup the end user can actually be allowed to share data with external organizations through what looks to be the File Explorer! šŸ”„ At least it looks like the File Explorer, but is in fact another application end users will need to install on top, to enable this functionality. The tool is called OneLake File Explorer and is obviously a file explorer for OneLake in Microsoft Fabric. In the following diagram, Microsoft demonstrates the feature and even underlines that no data is copied from one tenant to the other – all data is shared in-place.

Think about it just one more time – The end user will be able to, on their own device, copy and paste data from local folders to OneLake synchronized folders (also on their own device) which then gets synchronized to another tenant. The tool works just like the OneDrive application, which means that it keeps files in synch between your device and OneLake.

Admin Settings in Tenant A

Configuring the functionality requires the sharing organizations (Tenant A) to toggle a settings in their Fabric Admin section.

The setting “External Data Sharing” should be allowed, and it is recommended that this is allowed only to a specific security group for easier management of access through the IT department.

As per screenshot above, members of the security group “CatMan” are the only ones who are allowed to share externally. One note that is highlighted in the yellow box might be worth considering before using this feature.

The functionality will work, even if the receiving organization (Tenant B) does not allow sharing as described above.

Sharing from Tenant A

Suppose you already have a lakehouse in Microsoft Fabric, (otherwise here’s a great introduction on how to create that), and you want to share files or tables with an external business user or it-professional. Then the following steps will allow you just to do that.

I have uploaded my Important Business Numbers.xlsx spreadsheet in my folder File_Share. I need this file for my critical workloads in my BI analysis but I also want to share these numbers with a professional outside my organization.

From inside the workspace in Tenant A I can now (due to the configuration in the admin portal) choose to share data externally by clicking the three dots (…) on the lakehouse in question.

Choosing this option guides me to a wizard where I get to select what data items I would like to share. The supported item types are data residing in tables or files in lakehouses and mirrored databases.

In this case, I choose to share an entire folder named File_Share.

Clicking ‘Save and Continue‘ leads me to a new dialog, where I get to assign who I want to share this data with. Sharing in this way does NOT require Entra B2B guest user access but is relying on a dedicated Fabric-to-Fabric authentication mechanism. Also note that the sharer from Tenant A can’t control who has access to the data in Tenant B. Access can even be granted to guest users of Tenant B.

In this example the sharer can either choose to send the grant as an email, copy the link and send that through Teams or other option. The intended receive has 90 days to accept the invitation, after which the invitation expires.

Accepting share from Tenant B

In order for the user in Tenant B to accept the share, they have to have access to a lakehouse that becomes the target of the share. Please see link to setup a lakehouse.

Here the user Testy McTestify has created a workspace in Tenant B and also created a lakehouse called Tenant_B_Lakehouse.

Testy can now accept the share in more than one way, either by mail by clicking an accept button that directs him to the fabric portal where you will be guided through the next steps in accepting the invitation. Or Testy can simply click or paste in the link in a browser and begin the same journey as above. Either way, the below screen will be presented once authorization has completed.

Testy McTestify is a user in the domain @catmansolution.com (Tenant B) and the invite was sent from Tenant A which is @catman.bi – this information is also present in the dialog, along with details on what is shared.

Now Testy has to select the lakehouse that will house the referenced folder (in this case). Here Testy chooses Tenant_B_Lakehouse.

And the final step is to place the shared folder in the files hierarchy that exists in Tenant_B_Lakehouse, and here Testy just places the folder in the root.

Two notifications will pop up and inform you on the relevant actions taken.

As soon as that process is completed (within seconds) the files from the folder in Tenant A are available as if present in Tenant B

OneLake Explorer

Installing OneLake Explorer will allow Testy McTestify to access the same files and folders synchronized on his device. This is, as you can imagine, immensely powerful as almost every business user knows how to operate Windows File Explorer and OneDrive on their device – this is right up their alley and not some odd third party product that IT needs to whitelist for them alone. Chances are that OneLake Explorer is already in use in the organization and no further action from IT is needed.

I simply love the potential of this new feature that I feel has traveled well below the radar, covered by all the AI and CoPilot noise over the last couple of weeks.

Are you Dino or Carl?

If you are new to IT you might not yet have become aware that the tech stack is ever changing. I’ve been around long enough to have seen my share of DOS, Windows and also SQL server editions, but what is not immediately apparent is that this forces the people in the industry to, at some point, make a choice; become a dinosaur or adapt.

If your choice is dinosaur, you will probably be fighting to keep the workloads coming as time passes by. At best it’s a bit of a gamble, to put all your eggs into one basket so to speak. Tech changes and so will demand for the one tech you have mastered to perfection. Albeit the upside of the gamble is that little to no-one knows the tech in question which means you can ask a higher price for your services.

On the other hand Carl Lewis’s accomplishments is actually a great image of how the modern IT worker has to spread the interest on more than one tech. Carl Lewis was a childhood hero of mine and among other astonishing merits he was undefeated for a period of seven years (7) in long jump (still has the world record indoor) – but many remember him for his incredible performances in 100m and 200m dash. This just helps build the image that I am trying to convey here – modern IT people will almost certainly be specialised in more that one tech – or this particular tech evolves into something new.

So, which one is it? Dino or Carl?

But what’s my point with this?

On September 11th in 2020 I passed the AZ-400 test to become a Microsoft Certified: Azure DevOps Engineer Expert and as this is an Expert level certification, Microsoft requires this certification to be renewed within a specified amount of time. Microsoft operates with four levels of certification.

Fundamentals (⭐) which cannot be renewed and do not expire,

Associate (⭐⭐), Expert (⭐⭐⭐) and Speciality (no stars) which expires after one (1) year*
*) except if taken before June 30th 2021 – then validity lasts two (2) years

In a month from now, at the time of writing, I would no longer be allowed to flash that I am a certified Azure DevOps Engineer, unless… unless I renew the certification. Certification renewals is something fairly new to the Microsoft certification program and I must say I welcome the opportunity given by Microsoft to update your accolades for free. Yes, for free.

90 days (and 30 days) or so in advance, Microsoft sends a notification, that your certification will expire unless you renew it. The process of renewing is really simple and it all comes down to you and how updated your skills are on the subject. One of the smart things about renewals is that Microsoft gets to test your knowledge on features and tech added to its services since you first took the test. And this could potentially be a lot of new ground to cover. Even though Microsoft aquired Github back in the summer of 2018, there has been put in a lot of work to inhale Github into the Microsoft stack – much of this work has surfaced since I took the test initially, so the renewal test has a lot more questions on Github – which makes so much sense.

The email you receive would look similar to this one, except of course time and type of certification would be different:

All you have to do is click the link, log in with your Microsoft Learn account and off you go.

It could be that the number of questions vary, but I have had a two (2) renewals lately and both consisted of about 25 questions. There have been no cases like in the real tests, hence just 25 individual questions on tech stuff related to the overall topic of the certification. Also, all of my question have been multiple choice/single answer – meaning no multiple possible answers/ranking of tasks to perform or code to complete. But I am sure they are working on getting that in there.

Once you’ve completed all questions you will be directed to either a pass or fail page (unfortunately I didn’t screen grab that when I failed the AZ-400 renewal the first time, so I am not able to display how that look). Microsoft Learn even provides you with a collection of learning materials (from Microsoft Learn) that fits your weak areas so you can concentrate on getting that up to speed- this is very helpful!

If you pass, the resulting page looks something like this

There is also an explanation on the various areas of the test and how you performed in those categories:

This one is from my DA-100 renewal which is now outdated and superseded by PL-300

Final thoughts

Having a history of every other year having to take on new certifications, even in the same tech space, I really welcome the idea of certification renewals. For instance I have SQL Server 2005, 2008 and 2016 certifications but, at least in my mind, it makes a lot more sense to be able to communicate that I am certified in SQL Server and the certification is up to date, for instance with the Azure SQL Server Administrator certification – no editions attached – it’s just active or not. This goes for any technology/role that manages to stick around and evolve.

Best of luck to all you out there who are either renewing or taking on new exams.

New Microsoft certifications passed

This summer my family and I spent almost three weeks driving to Germany and into Italy by car. Not just any car I might add. The old Volvo clicked in 4.000 km and handled it like a charm 🄰 even when it was super packed for the final stage of the journey from the duty free shop just across the border.

Main cities visited Nürnberg, Venice, Bologna, Brisighella, Comacchio… and obviously I had to make a stop at the Mutti field of tomatoes, as Mutti is a client of ours šŸ™‚

Assorted Pictures from the vacation

Just before the vacation began, I got notice, that I had passed the two beta exams I attended in the middle of May. With beta exams you do not get the passing score immediately, you have to wait ’till the program has collected enough data on the individual questions/answers to release the final version of the test.

Microsoft Power Automate RPA Developer (PL-500)

First of I passed the Microsoft Power Automate RPA Developer (PL-500) exam, which was quite a stretch for me, and I had even raised some concerns about the scope of the test before, in the below announcement on LinkedIn:

Candidates for this exam automate time-consuming and repetitive tasks by using Microsoft Power Automate (formerly known as Flow). They review solution requirements, create process documentation, and design, develop, troubleshoot, and evaluate solutions.

Candidates work with business stakeholders to improve and automate business workflows. They collaborate with administrators to deploy solutions to production environments, and they support solutions.

Additionally, candidates should have experience with JSON, cloud flows and desktop flows, integrating solutions with REST and SOAP services, analyzing data by using Microsoft Excel, VBScript, Visual Basic for Applications (VBA), HTML, JavaScript, one or more programming languages, and the Microsoft Power Platform suite of tools (AI Builder, Power Apps, Dataverse, and Power Virtual Agents).

 Important

Passing score: 700. Learn more about exam scores. (which is exactly what I scored 😁)

Part of the requirements for:Ā Microsoft Certified: Power Automate RPA Developer Associate

The detailed skills are outlined here: Exam PL-500: Microsoft Power Automate RPA Developer – Skills Measured

Designing and Implementing Enterprise-Scale Analytics Solutions Using Microsoft Azure and Microsoft Power BI (DP-500)

Candidates for this exam should have advanced Power BI skills, including managing data repositories and data processing in the cloud and on-premises, along with using Power Query and Data Analysis Expressions (DAX). They should also be proficient in consuming data from Azure Synapse Analytics and should have experience querying relational databases, analyzing data by using Transact-SQL (T-SQL), and visualizing data.

 Important

Passing score: 700. Learn more about exam scores.

 Tip

Part of the requirements for:Ā Microsoft Certified: Azure Enterprise Data Analyst Associate

Active certifications

New/Renewed 2022

Other Active Certifications

Recertified as Azure Administrator Associate!

For the second time this year, I have successfully passed a re-certification test. This time around was the Azure Administrator Associate – AZ-104 certification, which I passed initially about two (2) years go (August 14th – 2020). I am happy and thrilled to be able to add this badge to my collection for the next year.

New Certifications/Re-Certifications this Year

Past, but still active, certifications