Solved

Convert Excel formula to SQL case statement

Posted on 2015-01-17
4
766 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Webinar: MongoDB® Index Types

Join Percona’s Senior Technical Services Engineer, Adamo Tonete as he presents “MongoDB Index Types, How, When and Where Should They be Used?” on Wednesday, July 12, 2017 at 11:00 am PDT / 2:00 pm EDT (UTC-7).

Question has a verified solution.

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

In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
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 demonstrate the bugs in Microsoft Excel for Mac with Pivot Charts.

623 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