I’ve run into an interesting problem with the online service. In researching it, it seems this might be one of those frustrating things I have to live with until Microsoft makes fixing it a priority. However, I am always hopeful that some ingenious member(s) of this community has found a clever workaround.
Here’s my situation. I have the following report, which graphically tracks the status of management approvals of proposed allocations associated with various streams of funds coming into a revolving account. Funds may come in via receipts, transfers or (rarely) adjustments. Each stream has a separate approval chain, which also varies by which office “owns” the incoming funds. (None of this is particularly important here, except in understanding that the logic flows underlying the stoplights are very complex).
All of this runs like a champ in the service:
The problem comes when the user tries to subscribe to this report. At that point, the transmitted PDF shows the report, but with a bunch of broken graphical links, most importantly all the green stoplights missing. The reason for this apparently is that Power BI fires the snapshot before all the graphics are finished rendering. Because the green lights are deepest within the logic structure, they get rendered last, after the point at which the PDF snapshot is taken.
So, to try to improve this situation, I stripped out all the nonessential graphics, slicers, cards, etc., and also optimized the DAX to the best of my abilities (in real time, the report runs very quickly with no noticeable lag time in rendering the stoplights). However, even with these modifications the green stoplights are still breaking in the PDF:
It seems absurd to me that there is no way to delay the snapshot until after rendering is complete (or that’s not just built-in as the default). Has anybody else run into this problem, and if so how do you handle it?
Thanks in advance for your help.
PS - I know that if worse came to worst, I could do this in Power Query, which in retrospect perhaps I should’ve done from the start. However, there are some legitimate reasons I wanted to do this in DAX, plus I’m not super enthusiastic about rewriting hundreds of lines of extensively tested DAX code in custom M.