Microsoft Hates Greg's Quick Measures
Photo concept and credit: Rocket Deckler

Microsoft Hates Greg's Quick Measures

Introduction

Today I am announcing the availability of a new External Tool for Power BI Desktop, "Microsoft Hates Greg's Quick Measures" or MSHGQM for short. This tool more than doubles the number of Quick Measures available in Power BI Desktop alone and most calculations support the creation of either DAX measures or calculated columns so really MSHGQM triples the number of quick, easy calculations you can create.

The Birth of MSHGQM

So, despite the fact that I have contributed nearly 200 quick measure formulas to the Power BI Community's Quick Measure Gallery, Microsoft has never once been so inclined as to base one of the Quick Measures in Power BI Desktop on one of my submissions. Other Quick Measures have made it, like Chris Webb's Star Rating and Daniil Maslyuk's Simple Linear Regression. Never one of mine though. But am I bitter? A little...I'm a little bitter, I'm not gonna lie. So what is one to do when life hands you lemons? Well, you can make lemonade or...you can use gain of function research to bioengineer a new, novel bacteria that attacks the photosynthetic respiratory systems of lemon trees in order to wipe out lemons from the face of the earth and henceforth be forever impervious from receiving sour fruit. What? Too soon? In any event, figuratively speaking, I took the latter approach. And thus, after a weekend of teaching myself how to code a C# WPF application, MSHGQM was born.

Are You Serious?

Oh yes, I am quite certain that Microsoft hates my quick measures. What are you going to do? Some people hate cans, some people hate turtles and some people at Microsoft obviously have a vitriolic hatred of my DAX code. But, I realize you probably have a whole host of questions. I will try to anticipate those questions and answer them here:

Where can I download Microsoft Hates Greg's Quick Measures?

Why, you can download it right here from GitHub.

Is this a joke? Does it really exist?

That's two questions, but OK. Yes, unlike my prank 150th Quick Measure Gallery submission, MAGIC!, this tool actually really does exist and works just as described. See, here is an un-doctored screen capture:

No alt text provided for this image

In fact, if you had attended my last CAMLPUG meeting, you would have actually seen a pre-working version of the tool. My son Rocket is still editing the video for distribution but I'll get it posted as soon as I can.

Is the code as garbage as that interface?

Oh yes, I can assure you that the code is absolute garbage. But it works. Did you miss the part of this being my first ever C# WPF application and that I effectively coded it in a weekend? MSHGQM is actually an extremely hacked up version of the most excellent Metadata Translator tool by Kay Unkroth. Other than a few of my classes still being called Language and TranslationGroup though, not much of Kay's code remains sadly. But, a deep, heartfelt thanks to Kay. I learned a tremendous amount studying your code and MSHGQM wouldn't exist without that knowledge.

Why the name Microsoft Hates Greg's Quick Measures?

Well I had a strict set of specific criteria for naming this tool. That criteria was as follows:

  1. Convey how much Microsoft hates my quick measure DAX code
  2. Make the name as long as possible
  3. Absolutely and utterly thwart any and all attempts at acronization

Thinking of the perfect name that fit all three criteria took many hours of laborious thought and "ideation", I assure you.

Is the code open source?

No, the code is not open source.

What!?!!?? That's blasphemy! How can your code NOT be open source?!?!?!?!!!?

Because it's not.

Look, I have spent far, far too much time and energy excoriating open source to just roll over and release a piece of open source software. It's just not going to happen. Well, there is one path, but you aren't going to like it.

I realize that you are probably thinking that this sorta makes me like the kind of guy that would grab a handful of extra plastic bags every time he visits the grocery store and immediately toss those plastic bags into the nearest river or stream with the express intent of maximizing the total amount of worldwide turtle carnage. OK...fair. I actually happen to be that kind of guy...like, exactly that guy #oddlyspecific. But hey, at a young age my parents were tragically killed in front of me during a freak sea turtle mating accident. So, who are you to begrudge me a little revenge? The point is, the code is not open source.

Now, I have provided the code to Mike Carlo at powerbi.tips so that he can inspect it for "malicious" code. As long as "malicious" does not mean "an incomprehensible mess", we should be good. Fantastic website BTW. I am working with Mike to get the tool included in Business Ops because I'm too lazy to write an installer of my own and Business Ops is really cool and legit.

But wait, doesn't that make you a complete and utter hypocrite for using open source code to create your own closed source program?

Actually...it kind of goes along with and proves everything I have pretty much ever said about open source code. So...yeah, I'm good with it. Look, my program has all of the same hallmarks as 99.99999% of all open source software. It's kinda garbage, it isn't innovative, it's inefficient, it's generally inferior to what it is imitating, its storage is contributing to global warming and it's free. So, 6 out of 7 ain't bad. You really haven't been reading my stuff, have you?

Why didn't you use Python instead of C#?

Because...meh.

What are the future plans for MSHGQM?

Well, the current tool is what I would consider an alpha version. The goal for the beta version is to cleanup all of the code and double the number of quick measures available. The beta is still going to be based on my own homegrown JSON DAX quick measure description format and necessary code behind for each quick measure. Probably take me a couple months.

After the beta, my goal is to try to use Mike Carlo's nifty new DAX template creation tool to create DAX templates for my quick measures. The end goal is to try to make the entire interface, including the configuration interface for quick measures/columns, completely data driven so that you can add new quick measures simply by dropping a DAX template into a directory. That might take some time.

Conclusion

If they won't let you play, take your ball and go home. Destroy the ball with extreme malice and prejudice. Invent a new ball. Invent a new game. Boldly declare victory even though nobody uses your ball or likes your stupid game.

Many thanks to my son Rocket for the image and have you checked out his crazy awesome video yet? The kid has some talent.

Didier TERRIEN

Group Data Quality Officer chez Groupe Trescal

3 年

Great work ! That helps a lot

Justin O'Connor

Founder @ Onward | AI Agent Engineering Leader @ KPMG

3 年

That post was hilarious and helpful. I don’t know whether to laugh or drift somberly into a sort of self-reflective appreciation.

Apoorva Kapoor

Business Analyst at Simba Global Pty Ltd

3 年

Greg you are an inspiration!

回复
Brian Mather

Business Intelligence & Strategy

3 年

Hey leave the turtles out of this! - and downloading MHGMFHMDDH immediately :)

Bob Reddert

Practice Area Manager at New Era Technology (Fusion Alliance)

3 年

I love your sense of humor Greg! ??

要查看或添加评论,请登录

Greg Deckler的更多文章

  • Fabric Killed the Power BI Star

    Fabric Killed the Power BI Star

    It all started nearly 5 years ago when Salesforce bought Tableau in August of 2019. That was the seed that sowed the…

    84 条评论
  • Is Microsoft Fabric Repeating the Sins of the Past?

    Is Microsoft Fabric Repeating the Sins of the Past?

    Ever since Microsoft Fabric was announced, I've had this one, lingering issue in the back of my mind that I could never…

    22 条评论
  • The Egregiousness of Power BI Measure Totals

    The Egregiousness of Power BI Measure Totals

    It has officially now been a year since I posted my first Power BI Measure Total meme. Here is the first Power BI…

    14 条评论
  • The Case for No CALCULATE

    The Case for No CALCULATE

    The following is something that I have specifically avoided writing for quite some time. Why? Well, because at its…

    60 条评论
  • Confessions of a Disgraced Former Microsoft MVP

    Confessions of a Disgraced Former Microsoft MVP

    In the interests of full disclosure, I was a Microsoft MVP for 7 years. My tenure as an MVP ended in March 2023 due to…

    24 条评论
  • Size Does Matter

    Size Does Matter

    Introduction OK, it's official, size does matter when it comes to DAX. Let's be clear, we're talking about DAX here.

    10 条评论
  • Schools and Teachers Banning ChapGPT Simply Exposes Them as Lazy, Ignorant Technophobes

    Schools and Teachers Banning ChapGPT Simply Exposes Them as Lazy, Ignorant Technophobes

    Ever since ChatGPT was launched in late November 2022 there has been the predictable, oh-so-unsurprising backlash…

    15 条评论
  • Why You Shouldn't Avoid Calculated Columns in Power BI

    Why You Shouldn't Avoid Calculated Columns in Power BI

    Introduction Recently Ed Hansberry posted a fantastic article, Why You Should Avoid Calculated Columns in Power BI —…

    7 条评论
  • Configure SQL Server Profiler as an External Tool for Power BI Desktop

    Configure SQL Server Profiler as an External Tool for Power BI Desktop

    Introduction The November 2022 version of Power BI Desktop shipped 3 new DAX functions, EVALUATEANDLOG, TOCSV and…

    2 条评论
  • Unspecified

    Unspecified

    I recently received a quite unexpected outpouring of well wishes and support regarding my new role and/or…

    6 条评论

社区洞察

其他会员也浏览了