Ssrs 2012 iif statement

To avoid using a long-winded IIF - what I would recommend and do myself is to create a separate dataset with the values I need based on the key values.

This dataset would contain a row with a key value to identify the grade and language - for example:

PreK-English
PreK-Spanish
Kindergarten-English
Kindergarten-Spanish
01-English
01-Spanish
02-English
02-Spanish
...
12-English
12-Spanish

The dataset would have 2 columns - the key value (StatementID) and the text (StatementText) to be returned.

You then utilize a LOOKUP to get the appropriate row from the dataset - the lookup will concatenate the grade with the language and returns the appropriate text value from the dataset.

=Lookup(Fields!Grade.Value & "-" & Fields!Language.Value, Fields!StatementID.Value, Fields!StatementText.Value, "Statements")

To create the dataset - you just need a query like this:

 Select concat(ag.GradeID, '-', st.StatementLanguage) As StatementID, st.StatementText
   From (
 Values ('K', 'PreK')
      , ('K', 'Kindergarten')
      , ('05', '01')
      , ('05', '02')
      , ('05', '03')
      , ('05', '04')
      , ('05', '05')
      , ('08', '06')
      , ('08', '07')
      , ('08', '08')
      , ('12', '09')
      , ('12', '10')
      , ('12', '11')
      , ('12', '12')
        ) As ag(GradeKey, GradeID)
 Inner Join (
 Values ('K', 'English', 'English version of text')
      , ('K', 'Spanish', 'Spanish version of text')
      , ('05', 'English', 'English Version of Text')
      , ('05', 'Spanish', 'Spanish Version of Text')
      , ('08', 'English', 'English Version of Text')
      , ('08', 'Spanish', 'Spanish Version of Text')
      , ('12', 'English', 'English Version of Text')
      , ('12', 'Spanish', 'Spanish Version of Text')
        ) As st(StatementKey, StatementLanguage, StatementText) On st.StatementKey = ag.GradeKey