• Do you want the logo to be controlled by the first row of the dataset, or by the users selecting the value from a dropdown?

    This: =IIF(First(Fields!FirmID.Value, "dsDataset1") = 1, "Logo1", "Logo2")

    Isn't the same as this: =IIF(Parameters!FirmID.Value = 1, Image1, Image2)

    If you want users to be able to control the logo in the report, you need to add a parameter to the report that has available values of 1 and 2, with a default value of 1 (specified by you, and not a dataset), and then they can change the value after the report is first run. Not a dataset, because you can't always be guaranteed of the order of the rows returned, and you might always have a value of 1 returned for your IIF function.

    This is based on you saying "The users should be also able to change the logo after the initial run .. i.e". So a user controlled parameter is the only option for this.