Skip to main content
Solved

Nest IF statement for Style Formula Syntax Issue


Forum|alt.badge.img

Good day,

I am trying to do nest IF Statement for the style based on the results.  I have a syntax issue which I can seem to resolve.  

Any assistance would be greatly appreciated.  I have work on a couple of hours now. 

Thank you.


=IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=0,'Green60'), IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=1,'yellow60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])='-1','yellow60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=>2,'red60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=>-2,'red60')

Best answer by Robert Sternberg

I took a look, style names are case sensitive so this should work.  In the previous version we used capitalized color names.  For example in the last formula we used ‘Green60’, in this version we use ‘green60’

=Switch(
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = 0, 'green60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = 1, 'yellow60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = -1, 'yellow60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) >= 2, 'red60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) <= -2, 'red60',
    1=1, 'default'
)

 

View original
Did this topic help you find an answer to your question?

6 replies

Robert Sternberg
Captain II
Forum|alt.badge.img+7

You are comparing an integer value to a string. 

=IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=0,'Green60'), IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=1,'yellow60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])='-1','yellow60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=>2,'red60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=>-2,'red60')

 

Removing the single quotes around -1 should solve the issue. 


Forum|alt.badge.img
  • Author
  • Varsity I
  • 93 replies
  • January 11, 2024

Hi Robert,

I removed the quotes (see below).  It still has a syntax error.

What else?  Do I need add ‘Default’ to each IIF statements.

@Robert Sternberg Thank you.

Evan

 

=IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=0,'Green60'), IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=1,'yellow60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=-1,'yellow60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=>2,'red60'),IIf(DateDiff('d',[SOOrder.RequestDate],[SOOrderShipment.ShipDate])=>-2,'red60')


Robert Sternberg
Captain II
Forum|alt.badge.img+7

Try this, it might make things more clear if you ever need to come back and make adjustments. 

 

=Switch(
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = 0, 'Green60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = 1, 'Yellow60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = -1, 'Yellow60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) >= 2, 'Red60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) <= -2, 'Red60',
    1=1, 'Default'
)

 


Forum|alt.badge.img
  • Author
  • Varsity I
  • 93 replies
  • January 15, 2024

HI @Robert Sternberg 

I appreciate your assistance.  Your suggestion passed validation however, it did not change the color.

I have attached the GI.  Any other suggestions. It is something with my formula?  I used the CInt function.

Here is how it looks now?

 

Thank you very much for your help.

Evan


Robert Sternberg
Captain II
Forum|alt.badge.img+7

I took a look, style names are case sensitive so this should work.  In the previous version we used capitalized color names.  For example in the last formula we used ‘Green60’, in this version we use ‘green60’

=Switch(
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = 0, 'green60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = 1, 'yellow60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) = -1, 'yellow60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) >= 2, 'red60',
    DateDiff('d', [SOOrder.RequestDate], [SOOrderShipment.ShipDate]) <= -2, 'red60',
    1=1, 'default'
)

 


Forum|alt.badge.img
  • Author
  • Varsity I
  • 93 replies
  • January 16, 2024

@Robert Sternberg 

Thank you.  It worked.

@EvanG 


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings