Forum Discussion
visual has exceeded available resources
- 9 years ago
Hi jgarciabu,
Yes, the issue occurs when a visual has attempted to query too much data for the server to complete the result with the available resources.
As suggested in the error, you may need to try filtering the visual to reduce the amount of data in the result currently.:smileyhappy:
Regards
Anonymous
I managed to get around my issue without really intending to. I was looking to improve the performance of my report and rewrote all of my DAX measures using variables. Even a measure as simple as just summing some column was written using a variable and returning the output. The performance of the dashboard was drastically improved and it resolved my issue with the exceeded memory error. SQLBI has a Date table publicly available that you can borrow if you have trouble rewriting your DAX for the table. It's actually a great date table. It has pretty much everything you could possibly want in a date table. Hope this helps!
hi Anonymous , can you provide a DAX example?
Thanks.
- Anonymous6 years agoNot applicable
cittakaro Sure. None of my DAX is too crazy and is probably pretty basic to someone who is an expert. There might be better ways to do most of what I did but it works and loads quickly so I got what I needed.
This is probably one of the more complicated measures I had in my report. I used to have everything here that you see as variables written into what is now the return statement. Sorry if it seems a bit like a jumbled mess. It's essentially just a series of nested if statements. After I started using variables, the performance of the report loading visuals was almost instantaneous rather than taking upwards of 10-15 seconds just to load a matrix/table visualization, if it loaded those visuals at all.
EarnedTitleLevel# = VAR SurveylessthanTitle = [SurveyScoreGoal]<=values(TMD[Title Sort]) var SClessthanTitle = [StatusCountGoal]<=values(TMD[Title Sort]) var TTlessthanTitle = [TurnTimeGoal]<=values(TMD[Title Sort]) var AnswerlessthanTitle = [AnswerRateGoal]<=values(TMD[Title Sort]) VAR SurveylessthanSC = [SurveyScoreGoal]<=[StatusCountGoal] var SClessthanSurvey = [StatusCountGoal]<=[SurveyScoreGoal] VAR SurveylessthanTT = [SurveyScoreGoal]<=[TurnTimeGoal] var TTlessthanSurvey = [TurnTimeGoal]<=[SurveyScoreGoal] var SurveylessthanAnswer = [SurveyScoreGoal]<=[AnswerRateGoal] var AnswerlessthanSurvey = [AnswerRateGoal]<=[SurveyScoreGoal] var TTGoal = [TurnTimeGoal] var SurveyScore = [SurveyScoreGoal] var MinSurveys = [SurveyReceivedMin] var MinCR = [CRCountMin] var AnswerGoal = [AnswerRateGoal] var statusgoal = [StatusCountGoal] var CurrentTitle = values(TMD[Title Sort]) return if(values(TMD[Specialty])="Mainstream PS" || values(TMD[Specialty])="NY PS", if(isblank(TTGoal) || isblank(SurveyScore), CurrentTitle, if(MinCR = -1 || MinSurveys = -1, if(SurveylessthanTitle && SurveylessthanTT,SurveyScore, if(TTlessthanTitle && TTlessthanSurvey,TTGoal,CurrentTitle)), if(SurveylessthanTT,SurveyScore,TTGoal))), if(values(TMD[Specialty])="Hunt PS", if(isblank(statusgoal) || isblank(SurveyScore), CurrentTitle, if(MinSurveys = -1 || [RONAgoal]=-1, if(SurveylessthanTitle && SurveylessthanSC,SurveyScore, if(SClessthanTitle && SClessthanSurvey,statusgoal,CurrentTitle)), if(SurveylessthanSC,SurveyScore,statusgoal))), if(values(TMD[Specialty])="CCS" || values(TMD[Specialty])="Escalation CCS", if(isblank(statusgoal) || isblank(SurveyScore), CurrentTitle, if(MinSurveys = -1, if(SurveylessthanTitle && SurveylessthanSC,SurveyScore, if(SClessthanTitle && SClessthanSurvey,statusgoal,CurrentTitle)), if(SurveylessthanSC,SurveyScore,statusgoal))), if(isblank(AnswerGoal) || isblank(SurveyScore), CurrentTitle, if(MinSurveys = -1, if(SurveylessthanTitle && SurveylessthanAnswer,SurveyScore, if(AnswerlessthanTitle && AnswerlessthanSurvey,AnswerGoal,CurrentTitle)), if(SurveylessthanAnswer,SurveyScore,AnswerGoal))))))A slightly simpler example is below here. Just for a bit of context that would make the code make a bit of sense without seeing the report, on each page of this report I've added in drop down slicers that the end user can use as selectors to adjust their goals for different tiers. Each of those slicers is reading off of a simple table that just has values that range from 0-100.
TurnTimeGoal = var CRCount = [CR Count] var TT = [TurnTime] var TCGoal = selectedvalue(TurnTimeTC[Column1]) var PCGoal = selectedvalue(TurnTimePC[Column1]) var ExecGoal = selectedvalue(TurnTimeExec[Column1]) var SrGoal = selectedvalue(TurnTimeSenior[Column1]) return if(isblank(CRCount),blank(), if(values(TMD[Specialty])="Mainstream PS" || values(TMD[Specialty])="NY PS", if(TT<TCGoal,4, if(TT<PCGoal,3, if(TT<ExecGoal,2, if(TT<SrGoal,1,0)))),blank()))