Calculated Fields 
Ram Kedem
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Creating Calculated Columns 
•Creating Calculated Columns 
•Expression Builder 
•Basic Arithmetic 
•Conditional Functions 
•Calculations with Text 
•Calculation with Dates
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Creating Basic Calculated Field 
Used Query 
SELECTproductID, ProductName, UnitPrice, UnitPrice* 1.18 AS UnitPriceVAT 
FROMproducts
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Creating Basic Calculated Field(VAT)
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Sort By Calculated Column (or any other column)
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Conditional Functions (IF) 
•Simple 
=IIf(Fields!VAT.Value>5, "High" , "Low") 
•Complex 
=IIf(Fields!VAT.Value>0 AND Fields!VAT.Value<3, “1-3" , IIf(Fields!VAT.Value>3 AND Fields!VAT.Value<=6 , “3-6" , "Other Range"))
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Conditional Functions (SWITCH) 
•Basic 
=Switch(Fields!UnitPrice.Value<20, "Low", Fields!UnitPrice.Value< 40 , "Medium" , Fields!UnitPrice.Value< 100 , "High") 
•Using ELSE 
=Switch(Fields!UnitPrice.Value<20, "Low", Fields!UnitPrice.Value< 40 , "Medium" , Fields!UnitPrice.Value< 60 , "High", TRUE , "Very High")
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Concatenating Text 
=Fields!ProductName.Value& " Price is " & Fields!DIFF_UP_CHECK.Value
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Text Functions 
•Using Left / Instrin order to divide full name into first name and last name : 
•SSMS 
•SELECTlastname+ ' ' + firstNameAS FULLNAME 
INTOFullNameList 
FROMemployees 
•SELECTFULLNAME, charindex( ' ' ,FULLNAME )- 1 FROMFullNameList 
•SELECTLEFT(FULLNAME , charindex( ' ' ,FULLNAME )-1) AS lastNameFROMFullNameList 
•SELECTRIGHT(FULLNAME , LEN(fullname) - charindex( ' ' ,FULLNAME ) ) AS FirstNameFROMFullNameList
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Text Functions 
•SSRS 
•=Left(Fields!FULLNAME.Value, InStr(Fields!FULLNAME.Value, " ")-1) 
•=Right(Fields!FULLNAME.Value, Len(Fields!FULLNAME.Value) - InStr(Fields!FULLNAME.Value, " "))
Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com 
Date Functions 
•=Month(Fields!BirthDate.Value) 
•=MonthName(Month(Fields!BirthDate.Value)) 
•=DateDiff(DateInterval.Year, Fields!BirthDate.Value, Today())

SSRS Calculated Fields

  • 1.
  • 2.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Creating Calculated Columns •Creating Calculated Columns •Expression Builder •Basic Arithmetic •Conditional Functions •Calculations with Text •Calculation with Dates
  • 3.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Creating Basic Calculated Field Used Query SELECTproductID, ProductName, UnitPrice, UnitPrice* 1.18 AS UnitPriceVAT FROMproducts
  • 4.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Creating Basic Calculated Field(VAT)
  • 5.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Sort By Calculated Column (or any other column)
  • 6.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Conditional Functions (IF) •Simple =IIf(Fields!VAT.Value>5, "High" , "Low") •Complex =IIf(Fields!VAT.Value>0 AND Fields!VAT.Value<3, “1-3" , IIf(Fields!VAT.Value>3 AND Fields!VAT.Value<=6 , “3-6" , "Other Range"))
  • 7.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Conditional Functions (SWITCH) •Basic =Switch(Fields!UnitPrice.Value<20, "Low", Fields!UnitPrice.Value< 40 , "Medium" , Fields!UnitPrice.Value< 100 , "High") •Using ELSE =Switch(Fields!UnitPrice.Value<20, "Low", Fields!UnitPrice.Value< 40 , "Medium" , Fields!UnitPrice.Value< 60 , "High", TRUE , "Very High")
  • 8.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Concatenating Text =Fields!ProductName.Value& " Price is " & Fields!DIFF_UP_CHECK.Value
  • 9.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Text Functions •Using Left / Instrin order to divide full name into first name and last name : •SSMS •SELECTlastname+ ' ' + firstNameAS FULLNAME INTOFullNameList FROMemployees •SELECTFULLNAME, charindex( ' ' ,FULLNAME )- 1 FROMFullNameList •SELECTLEFT(FULLNAME , charindex( ' ' ,FULLNAME )-1) AS lastNameFROMFullNameList •SELECTRIGHT(FULLNAME , LEN(fullname) - charindex( ' ' ,FULLNAME ) ) AS FirstNameFROMFullNameList
  • 10.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Text Functions •SSRS •=Left(Fields!FULLNAME.Value, InStr(Fields!FULLNAME.Value, " ")-1) •=Right(Fields!FULLNAME.Value, Len(Fields!FULLNAME.Value) - InStr(Fields!FULLNAME.Value, " "))
  • 11.
    Copyright 2014 ©Ram Kedem. All rights reserved. Not to be reproduced without written consent. ramkedem.com Date Functions •=Month(Fields!BirthDate.Value) •=MonthName(Month(Fields!BirthDate.Value)) •=DateDiff(DateInterval.Year, Fields!BirthDate.Value, Today())