Discussion Board for collaboration related to QlikView App Development.
Hi, I have a working scatter chart that needs to be changed to keep the X coordinates inside a range.
In the screenshot I have a field Event_IDHalf which determines the half in the match and can be 1 or 2. A Direction field which changes per half. The 0 coordinate for X is in the centre in my scatter chart with a range of 4.02 to -4.02. I have to ensure any values that go beyond that is instead showing as the end of the range. I posted a screenshot of my latest attempt at modifying this. I had success earlier with a different version but the - values remained outside the range.
The second part is just the second half and would be a reverse of the first part.
Figured it out. Aside from removing the need for set analysis using the load script, I had to watch out for QV understandably rendering double negatives as a positive.
=if(Event_IDHalf='1' or Event_IDHalf='2',
if(Direction='RL',
// if playing towards the left goal
if(if(ShotTargetX>0,-ShotTargetX,ShotTargetX)<-4.02,-4.02,
if(if(ShotTargetX<0,ShotTargetX,-ShotTargetX)>4.02,4.02,
if(ShotTargetX<0,ShotTargetX, -ShotTargetX)))
,
// if playing towards the Right goal
if(if(ShotTargetX<0,ShotTargetX,ShotTargetX)<-4.02,-4.02,
if(
if(ShotTargetX>0,ShotTargetX)>4.02,4.02,
if(ShotTargetX<0,-ShotTargetX, ShotTargetX)))
))
I was looking to delete this thread but I saw no option. If it helps someone in future then that's great because this was a nightmare for me!
I am able to render anything > 4.02 and anything within the range of 4.02 to -4.02 but anything that is beyond -4.02 doesn't work and keeps its original value.
=if(max({<PeriodHalf=>}PeriodHalf)='1',
if(if(maxstring({<Direction2=>}Direction2)='RL',ShotTargetX)>4.02,4.02,
if((if(maxstring({<Direction2=>}Direction2)='LR',-ShotTargetX))<-4.02,-4.02,
if(maxstring({<Direction2=>}Direction2)='RL',ShotTargetX,
if(maxstring({<Direction2=>}Direction2)='LR',-ShotTargetX))))
,
if(max({<PeriodHalf=>}PeriodHalf)='2',
if(if(maxstring({<Direction2=>}Direction2)='RL',-ShotTargetX)<-4.02,-4.02,
if((if(maxstring({<Direction2=>}Direction2)='LR',ShotTargetX))>4.02,4.02,
if(maxstring({<Direction2=>}Direction2)='RL',-ShotTargetX,
if(maxstring({<Direction2=>}Direction2)='LR',ShotTargetX))))
)
)
Figured it out. Aside from removing the need for set analysis using the load script, I had to watch out for QV understandably rendering double negatives as a positive.
=if(Event_IDHalf='1' or Event_IDHalf='2',
if(Direction='RL',
// if playing towards the left goal
if(if(ShotTargetX>0,-ShotTargetX,ShotTargetX)<-4.02,-4.02,
if(if(ShotTargetX<0,ShotTargetX,-ShotTargetX)>4.02,4.02,
if(ShotTargetX<0,ShotTargetX, -ShotTargetX)))
,
// if playing towards the Right goal
if(if(ShotTargetX<0,ShotTargetX,ShotTargetX)<-4.02,-4.02,
if(
if(ShotTargetX>0,ShotTargetX)>4.02,4.02,
if(ShotTargetX<0,-ShotTargetX, ShotTargetX)))
))
I was looking to delete this thread but I saw no option. If it helps someone in future then that's great because this was a nightmare for me!