Solved

Convert Excel formula to SQL case statement

Posted on 2015-01-17
4
671 Views
Last Modified: 2015-01-27
Can someone help me convert the following Excel IF statement to either a SQL case statement or MS-Query SQL statement:

CurMonth

=IF(MONTH(getdate())=1,
IF(MO=12,
IF(YR=YEAR(getdate())-1,1,0),0),
IF(MO=MONTH(getdate())-1,
IF(YR=YEAR(getdate()),1,0)))


CurYear

=IF(MONTH(getdate())=1,
IF(MO<=12,
IF(YR=YEAR(getdate())-1,1,0),0),
IF(MO<=MONTH(getdate())-1,
IF(YR=YEAR(getdate()),1,0)))


PriorYear

=IF(MONTH(getdate())=1,
IF(MO<=12,
IF(YR=YEAR(getdate())-2,1,0),0),
IF(MO<=MONTH(getdate())-1,
IF(YR=YEAR(getdate())-1,1,0)))


Thanks

Glen
0
Comment
Question by:GPSPOW
  • 2
4 Comments
 
LVL 18

Expert Comment

by:Simon
ID: 40555448
Hi Glen, the statements in your question look like a mixture of Excel and TSQL. Can you explain a bit more about what you'd like to achieve and post a few rows of sample data.
0
 

Author Comment

by:GPSPOW
ID: 40558770
I've requested that this question be deleted for the following reason:

Was able to convert Excel IF statement to a SQL query.

Thanks for reviewing it.

Glen
0
 

Accepted Solution

by:
GPSPOW earned 0 total points
ID: 40562562
Here is my solution to convertin the IF statement to a SQL case statement:

case when MONTH(getdate())=1 then
	case when MO=12 then
		  case when  YR = YEAR(GETDATE())-1 then 1 else 0 end
		else
	case when  MO = month(GETDATE()-1) and YR = YEAR(GETDATE()) then 1
		else 0 end end end as CMO,
	

Case when Month(getdate())=1 then
	case when MO <=12 then
		case when YR = year(getdate())-1 then 1 else 0 end
	else
	case when MO <=month(getdate()-1)  and YR=Year(getdate()) then 1 
		else 0 end end end as CYR,
	
Case when Month(getdate())=1 then
	case when MO <=12 then
		case when YR = year(getdate())-2 then 1 else 0 end
	else
	case when MO <=month(getdate()-1)  and YR=Year(getdate()-1) then 1 
		else 0 end end end as PYR

Open in new window



Thanks

Glen
0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question