Jump to content
  • 0

Case... [OPGELOST]


andries

Question

Een schaamtelijk probleem, maar ik krijg het gewoon niet opgelost...

 

Ik heb een opleidingsschema opgemaakt, waarbij de opleidingen worden gequoteerd van 0-100. Het is de bedoeling dat als ze minder als 10 halen er een rode achtergrond (container) moet komen, tussen 10-50 een oranje, 50-80 een gele en 80-100 een groene.

 

Ik heb dus voor elke puntenwaarde een container aangemaakt, en een afbeeldingen van die kleur ingeladen.

 

Ik heb ook een container gemaakt, die bepaald wordt door een calculatie, en hier zit het probleem.

 

Dit is de calculatie die ik invoerde:

 

Case(
Progress<10;bg0010;
10  ≤  Progress < 50;bg1050;
50  ≤  Progress < 80;bg5080;
80  ≤  Progress ≤ 100;bg80100
)

 

Nu dacht ik dat dit zou kloppen, en dat hij dus bij een waarde tussen 0-10 container bg0010 zou tonen, bij een waarde tussen 10-50 bg1050 zou tonen, bij een waarde tussen 50-80 bg5080 zou tonen, ...

 

Maar hij toont enkel tussen 0-10 een bg1050 en bij de rest toont hij bg5080 (wat dus als default wordt aanschouwd neem ik aan). Mijn vraag is: wat is hier mis met deze opbouw van de Case.

 

Alvast bedankt en ik schaam mij toch een beetje om deze vraag.

 

Groetjes

 

Andries

Edited by Guest
Link to comment

10 answers to this question

Recommended Posts

  • 0

Heb er nu dit van gemaakt:

 

Case(
Progress  >  80 ; bg80100;
Progress  >  50 ; bg5080 ;
Progress > 10  ; bg1050 ;
bg0010
)

 

Nu toont hij idd groen (bg80100) als het groter is dan 80, maar in al de andere gevallen weer gewoon rood (bg0010). Hij leest precies enkel de eerste voorwaarde en als die volbracht is toont hij het juiste, in het andere geval gaat hij gewoon naar de default (bg0010)

Link to comment
  • 0

en nu werkt het wel... ik weet niet wat ik heb aangepast, maar plotseling werkt het perfect.

 

Alvast bedankt voor de tip. Nog een algemene vraag. In het geval van een Case leest hij de eerste voorwaarde, is die voldaan toont hij het resultaat. Is die niet voldaan gaat hij naar de tweede voorwaarde etc etc... Ik wil maar zeggen: mijn eerste formule had ik onnodig ingewikkeld gemaakt door met die intervallen te werken. of ben ik mis?

Link to comment
  • 0

Inderdaad, de Case() stopt bij de eerste overeenkomst en anders neemt het de default waarde.

 

Juist die intervallen zijn eigenlijk niet nodig.

 

We zijn gewoon om van 'kleinste' waarde naar 'grootste' waade te rekenen, terwijl bij het gebruik van Case() het aangewezen is omgekeerd te werken.

Dan heb je eigenlijk de 'tussenwaarden' niet nodig, die zitten ingebakken in de volgorde van de voorwaarde.

 

De beperking werkt dan enkel op de eerst lagere waarde.

 

Een voorbeeld, het moet een kleur weergeven bij een waarde tussen 50 en 80, stel dat je 62 hebt.

 

Is 62 groter dan 80 ? Neen, dus gaan we naar de volgende regel.

Is 62 groter dan 50 ? Ja, dus geef de kleur.

 

Geen beperking van groter dan 50 EN kleiner dan 80, dat zit reeds in je volgorde.....

Link to comment
  • 0
Staat iig niet goed uitgelegd in de function reference...

Ik vind anders van wel :P En de rest is puur logisch denken :wink:

The Case function evaluates each test expression in order, and when a True expression is found, returns the value specified in result for that expression.
Link to comment
  • 0

De hellp file/functie reference volgt de 80/20 regel.

 

Het is voor 80 % utgelegd en de overige 20 % moet je erbij denken.

 

Heeft weinig met logisch denken te maken omdat je logischer wijze van klein naar groot denkt.

Dan moet je de ceiling er wel bij zetten.

 

Bij het omgekeerd werken heb je de ceiling niet nodig, de volgorde waarin je de argumenten zet zorgt vanzelf voor de ceiling.

 

Eigenlijk pas je hier herhaaldelijk de boolean theorie toe.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...