SQLServerCentral

Is learning Python/R an advantage for SQL Server Developers? Need an expert advice.


https://www.sqlservercentral.com/Forums/Topic1919723.aspx

By GroverVivek - Tuesday, January 23, 2018 10:50 PM

Hello Guys,

Is it time for SQL Server Developers to start learning R/Python to excel in their career? Expert advice needed.
By Phil Parkin - Tuesday, January 23, 2018 11:29 PM

GroverVivek - Wednesday, January 24, 2018 5:50 AM
Hello Guys,

Is it time for SQL Server Developers to start learning R/Python to excel in their career? Expert advice needed.

As these are now baked in to 2017, I'd say that it is a good idea. Whether you need learn both is a different question ... personally, I'd go with Python only.
By GilaMonster - Wednesday, January 24, 2018 12:01 AM

You should be learning constantly. Whether it's R or Python (I prefer R) for data work that can't easily be done in the DB engine, or Powershell/Bash for automation, or U-SQL if you work with 'big data' or.... is up to you
By Jeff Moden - Wednesday, January 24, 2018 5:51 AM

GroverVivek - Wednesday, January 24, 2018 5:50 AM
Hello Guys,

Is it time for SQL Server Developers to start learning R/Python to excel in their career? Expert advice needed.


Heh... yes... but only if they actually know T-SQL very well first. Wink Many people fall way short in that area and then resort to other things to try to make up for their lack of knowledge in T-SQL because they frequently don't even know IF T-SQL is capable of doing something.
By Phil Parkin - Wednesday, January 24, 2018 6:15 AM

jonathan.crawford - Wednesday, January 24, 2018 1:06 PM
Jeff Moden - Wednesday, January 24, 2018 12:51 PM
Heh... yes... but only if they actually know T-SQL very well first. Wink Many people fall way short in that area and then resort to other things to try to make up for their lack of knowledge in T-SQL because they frequently don't even know IF T-SQL is capable of doing something.

Yes, but.
Different tools do different things. I like to use R for some visualizations that SSRS doesn't do well for me, also keep trying to dream up new ways to visualize existing data for others to get better use out of it, and R has a lot of capability for a pretty low learning curve. Also a lot of depth if you want to apply statistical analysis and understand how to do it properly (not necessarily me, but always trying to learn more)

Valid point, but I can't see how this negates Jeff's comment in any way.
By jonathan.crawford - Wednesday, January 24, 2018 6:06 AM

Jeff Moden - Wednesday, January 24, 2018 12:51 PM
GroverVivek - Wednesday, January 24, 2018 5:50 AM
Hello Guys,

Is it time for SQL Server Developers to start learning R/Python to excel in their career? Expert advice needed.


Heh... yes... but only if they actually know T-SQL very well first. Wink Many people fall way short in that area and then resort to other things to try to make up for their lack of knowledge in T-SQL because they frequently don't even know IF T-SQL is capable of doing something.


Yes, but.

Different tools do different things. I like to use R for some visualizations that SSRS doesn't do well for me, also keep trying to dream up new ways to visualize existing data for others to get better use out of it, and R has a lot of capability for a pretty low learning curve. Also a lot of depth if you want to apply statistical analysis and understand how to do it properly (not necessarily me, but always trying to learn more)
By Chris Harshman - Wednesday, January 24, 2018 2:56 AM

SQL Server Developer is such a broad title, that it's really impossible to tell, as that role will vary from company to company. I'd suggest it's important to understand how each is used with SQL Server, but if your role doesn't fit the purpose of the language then it doesn't make sense to learn it.
By Revenant - Wednesday, January 24, 2018 3:10 AM

Learning Python as a language is easy, if you have any experience with programming languages. The trick is that there are 6,300 published Python libraries. Spending 10 minutes on each to find what it can do for you is a full time two years job. (If you can remember the first library after you examine the last one, otherwise you could start over.)
By xsevensinzx - Wednesday, January 24, 2018 12:23 AM

In general, they're good to learn because they are popular, they are on the rise, and they mostly deal with data.

If you will actually use it in the work place is up to the business. A lot of companies that are Microsoft shops may lean away from it still and lean more towards .NET, Powershell and so forth regardless if SQL Server or Visual Studio support it and the resources have been using it with the tech for years. But, there are some that do embrace it because it's needed for analytics/data science as well cheaper to develop in (i.e.: Python was originally for prototyping and thus is faster to develop apps in than .NET)

Personally, I think you should. I use Python every day with SQL Server and especially Azure. The cloud and advanced analytics is on the rise and it has the most need for Python for automation and even data pipelines. Python specially is great for converting R scripts into automated applications that can be injected right into the heart of your SQL Server as well other enterprise applications you may be developing in other languages.

Python is more of a need for you than R because R is domain specific and really is not much use to you from a SQL Developer standpoint. Python is better for actual development, ETL, API's, apps, and especially automation and even maintenance.
By Jeff Moden - Thursday, January 25, 2018 12:48 AM

jonathan.crawford - Thursday, January 25, 2018 6:56 AM
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

That's what I'm talking about.
By Jeff Moden - Thursday, January 25, 2018 1:08 AM

Jeff Moden - Thursday, January 25, 2018 7:48 AM
jonathan.crawford - Thursday, January 25, 2018 6:56 AM
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

That's what I'm talking about.


I'll also add "silo-ing" to that. In the various companies that I've worked for in the past, it seemed to be rampant and seems to continue even in today's world of DevOps. What I'm talking about is people who just don't know something in T-SQL even though it may be super simple to accomplish. Rather than asking for a bit of help, they limit themselves to the tools that they do know and that's wrong at so many levels. They may even teach themselves how to do something in R or whatever. While such learning isn't a bad thing, they didn't take the time to learn the right thing nor even ask if there was an easy way to do what they need in T-SQL.

I also get the tired ol' lecture of "Just because you can do something in SQL Server, doesn't mean you should". While I do agree with that, a lot of people use that as an uniformed, ring-knocker, ad hominem attack to make up for their lack of even simple knowledge of SQL Server. They typical follow that with the totally over used and totally desperate attempt to save face by saying that "SQL Server isn't the center of the universe". My normal response is, "Fine. Let's turn it off and see if you're right". Wink

I definitely subscribe to the idea of using the right tool for the right thing but the right tool isn't always something outside of SQL Server. That's why I have the play on words in my signature of "Just because you can do something in SQL Server, does mean you SHOULDN'T". Wink At the very least, ask someone who might know if T-SQL is the right tool or if the tool you're familiar with is a better tool, especially if you don't know squat about T-SQL.
By Jeff Moden - Thursday, January 25, 2018 2:02 AM

GilaMonster - Thursday, January 25, 2018 8:50 AM
Jeff Moden - Thursday, January 25, 2018 7:48 AM
jonathan.crawford - Thursday, January 25, 2018 6:56 AM
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

That's what I'm talking about.

But that doesn't require 'knowing T-SQL very well'. You're talking there about knowing the basics of the language.
If you use R because you don't know the first thing about T-SQL, then you're not a T-SQL developer using R for something they don't know is in T-SQL, you're an R developer.

And, if I may be blunt, using "developer" to refer to someone who develops predominantly/only in other languages is frankly insulting. Sure, the guy may well have had an attitude problem and should have asked if the C# was necessary before he wrote it, that doesn't mean he's not a developer.
I work with a whole bunch of data professionals who don't know the first thing about T-SQL, or the base SQL language in general. That doesn't make them inferior.


It was meant as a strong insult to that particular person because of his poor attitude.

Agreed on the "very well" comment. To be sure, I'm not talking about the "Black Arts" that a lot of us know how to do. I'm talking about what most of us would consider to be "the basics", like how to do a 3 table join, when to use an inner join or an outer join, what many of the functions in the language do, a bit about how to write a SARGable query, and maybe even how to use APPLY
By GilaMonster - Thursday, January 25, 2018 1:50 AM

Jeff Moden - Thursday, January 25, 2018 7:48 AM
jonathan.crawford - Thursday, January 25, 2018 6:56 AM
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

That's what I'm talking about.

But that doesn't require 'knowing T-SQL very well'. You're talking there about knowing the basics of the language.
If you use R because you don't know the first thing about T-SQL, then you're not a T-SQL developer using R for something they don't know is in T-SQL, you're an R developer.

And, if I may be blunt, using "developer" to refer to someone who develops predominantly/only in other languages is frankly insulting. Sure, the guy may well have had an attitude problem and should have asked if the C# was necessary before he wrote it, that doesn't mean he's not a developer.
I work with a whole bunch of data professionals who don't know the first thing about T-SQL, or the base SQL language in general. That doesn't make them inferior.
By GilaMonster - Thursday, January 25, 2018 12:22 AM

jonathan.crawford - Thursday, January 25, 2018 6:56 AM
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


And for some things that T-SQL can do, R is easier to work with.
For example, I could calculate quantiles and other measures of distributions of data in T-SQL, but if given a choice I'll use R for that.
By GilaMonster - Thursday, January 25, 2018 7:12 AM

Revenant - Thursday, January 25, 2018 1:44 PM
GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are.

Maybe not, but GGPlot in reports is pretty damn close. :-)

Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work
By jonathan.crawford - Wednesday, January 24, 2018 11:56 PM

Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.
By jonathan.crawford - Thursday, January 25, 2018 2:20 AM

Jeff Moden - Thursday, January 25, 2018 7:48 AM
jonathan.crawford - Thursday, January 25, 2018 6:56 AM
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

That's what I'm talking about.


hahaha, ok. was he paid hourly, by chance?
By Revenant - Thursday, January 25, 2018 8:12 AM

GilaMonster - Thursday, January 25, 2018 2:12 PM
Revenant - Thursday, January 25, 2018 1:44 PM
GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are.

Maybe not, but GGPlot in reports is pretty damn close. :-)

Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

Gail

I respect you highly and I hope we can agree that if Microsoft does not clean their act and do something really revolutionary, SSRS will be dead and GGPlot and other tools will take over. Over the last few years I have seen that my users no longer go for SSRS but download their data into Excel Pivot Tables. The typical scenario is that a biz analyst comes in the morning, starts a download, goes to get his/her cup of coffee, comes back, curses when s/he sees that the download has not finished yet (and blames me), waits a few more minutes and when the download finishes, works with the downloaded as-per-yesterday data for the rest of the day. Rinse and repeat. Wink

Due to the file size limitations, Power BI is not that popular.
By Revenant - Thursday, January 25, 2018 6:44 AM

GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are. Its strength is in lightning fast behind the scenes matrix operations, including, but not limited to, neural networks. IMO the strongest point of R on SQL Server is its ability to work with tables as matrices, which makes it extremely efficient.

I am still in awe that I can call R from T-SQL, then T-SQL or Python from R, go as deep as you wish, no practical limit.
By GroverVivek - Thursday, January 25, 2018 4:00 AM

Jeff Moden - Thursday, January 25, 2018 9:02 AM
GilaMonster - Thursday, January 25, 2018 8:50 AM
Jeff Moden - Thursday, January 25, 2018 7:48 AM
jonathan.crawford - Thursday, January 25, 2018 6:56 AM
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

That's what I'm talking about.

But that doesn't require 'knowing T-SQL very well'. You're talking there about knowing the basics of the language.
If you use R because you don't know the first thing about T-SQL, then you're not a T-SQL developer using R for something they don't know is in T-SQL, you're an R developer.

And, if I may be blunt, using "developer" to refer to someone who develops predominantly/only in other languages is frankly insulting. Sure, the guy may well have had an attitude problem and should have asked if the C# was necessary before he wrote it, that doesn't mean he's not a developer.
I work with a whole bunch of data professionals who don't know the first thing about T-SQL, or the base SQL language in general. That doesn't make them inferior.


It was meant as a strong insult to that particular person because of his poor attitude.

Agreed on the "very well" comment. To be sure, I'm not talking about the "Black Arts" that a lot of us know how to do. I'm talking about what most of us would consider to be "the basics", like how to do a 3 table join, when to use an inner join or an outer join, what many of the functions in the language do, a bit about how to write a SARGable query, and maybe even how to use APPLY
Sorry guys. I didn't meant to annoy anyone or hurting sentiments. I always love to work in T-SQL. Now, after a long discussion of SQL Guru(s), I came to conclusion that T-SQL is what one should know if he wants himself to be known as SQL developer. And R/Phyton are also add on but yes T-SQL is the actual home. ☺️.
By GroverVivek - Thursday, January 25, 2018 4:04 AM

And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.
By Steve Jones - SSC Editor - Tuesday, January 30, 2018 2:34 AM

GroverVivek - Thursday, January 25, 2018 6:45 PM
Thanks Gail. I agree with you. And will definitely follow this statement. The reason I bring up this point is that I am going to join a new organization next month. And there, I will get a chance to learn C#. But I was also excited about R/Python also. I have educated some guys on T-SQL skills in last few months. And most of them didn't have any knowledge about SQL before they started their one to one classes with me. And they were also learning python/R in parallel to get job as Data Scientists. So, I was under impression that where the area of learning is expanding itself. Is it really easy to learn SQL for 2-3 months and get a job as Data Scientists with good compensation? Should I also start learning these languages also? And there are around 3 questions that I see in Question of the day are related to R language.

We are doing R questions once a week as they seem to be popular and they help me learn as well Wink

R and Python, really the Data Science and Machine Learning, interest is expanding because there is lots of publishing and writing about how companies are starting to use these technologies more. Whether this is useful and they will continue remains to be seen, but if you have an interest, learn them. Learning is good and keeps your brain fresh. It's a skill that you need.

I agree with Jeff that becoming better at SQL is important. Much of the ML/AI stuff still involves moving data around, cleaning it, etc., and SQL does a great job of that, but if you want variety, and your company uses other languages, splitting your learning is fine.

There is no should. You must decide what you are interested in and what presents opportunities for you
By Jeff Moden - Thursday, January 25, 2018 11:09 AM

jonathan.crawford - Thursday, January 25, 2018 9:20 AM
Jeff Moden - Thursday, January 25, 2018 7:48 AM
jonathan.crawford - Thursday, January 25, 2018 6:56 AM
Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that. What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

My favorite example is when 2005 came out and the use of SQL CLR was all the rage. To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused. He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project. What did the SQL CLR do that was so critical. It calculated a MODULO. You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

That's what I'm talking about.


hahaha, ok. was he paid hourly, by chance?

Heh... no... thankfully, he was salaried.
By Sergiy - Saturday, February 10, 2018 9:18 PM

Proper name for a book about all the data scientist tools:
"Blunt tools for dummies".

If you think about it - >90% of the operations they do is a waste of time and resources.
Because exactly the same data analysing operations on the same sets of data (except for a small portion of newly added data, which usually does not exceed several percents of the whole amount of analysed data).

A smart solution would analyse only the newly arrived data and summarise the aggregations for the new set with the ones collected previously.

But that would make the big data look not so big, and that must be the problem.
With all the petabytes gone - what do you have to brag about?
By GilaMonster - Thursday, January 25, 2018 11:13 PM

.
By GilaMonster - Thursday, January 25, 2018 8:18 AM

Revenant - Thursday, January 25, 2018 3:12 PM
GilaMonster - Thursday, January 25, 2018 2:12 PM
Revenant - Thursday, January 25, 2018 1:44 PM
GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are.

Maybe not, but GGPlot in reports is pretty damn close. :-)

Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

Gail

I respect you highly and I hope we can agree that if Microsoft does not clean their act and do something really revolutionary, SSRS will be dead and GGPlot and other tools will take over. Over the last few years I have seen that my users no longer go for SSRS but download their data into Excel Pivot Tables. The typical scenario is that a biz analyst comes in the morning, starts a download, goes to get his/her cup of coffee, comes back, curses when s/he sees that the download has not finished yet (and blames me), waits a few more minutes and when the download finishes, works with the downloaded as-per-yesterday data for the rest of the day. Rinse and repeat. Wink

Due to the file size limitations, Power BI is not that popular.

Most of the BI-type people at my company (and there's no insult intended in that) use Tableau, Qlikview/Qliksense and other such tools for reporting and for the users to play with the data in. I can't remember the last time we recommended SSRS for anything other than simple operational reports. We've got some clients using PowerBI, not many.
I've switched most of my graphing from excel to R, just need to find the time to write some import/process/draw functions for the stuff that's still in Excel and they'll all be R (I do a lot of reports for clients, as in 20+ page Word docs with multiple graphs)
By GilaMonster - Thursday, January 25, 2018 5:13 PM

GroverVivek - Thursday, January 25, 2018 6:45 PM
Is it really easy to learn SQL for 2-3 months and get a job as Data Scientists with good compensation?

I work with a bunch of data scientists who don't know T-SQL at all. It's not a core skill. Beneficial, yes. Core skills are more like Python or R (with a good couple years experience at the least) or other specific languages, a comprehensive grasp of statistics, knowledge of advanced maths (matrix mathematics, linear algebra) and some knowledge of the business domain to know what questions to ask
By GilaMonster - Thursday, January 25, 2018 5:24 PM



xsevensinzx - Thursday, January 25, 2018 8:18 PM

Really comparing apples to oranges here.

Not really. We're talking about consuming SSRS reports vs using the visualisation tools. No one's suggesting handing R or Python to the people who use the reports/visualisation tools

You start dropping GGPlot, Seaborn, Matplotlib in their laps, they will likely quit.


And if I suggested GGPlot or Matplotlib to the business users as an alternative to reports, I'd probably be short a client (and rightly so)

Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


Actually, most of the data scientist I've worked with struggle with SQL, databases, OLAP and much more.


The comment wasn't aimed at a data scientist. It was in answer to a question of should a T-SQL developer focus on T-SQL or learn R/Python as well
By Revenant - Thursday, January 25, 2018 12:00 PM

GroverVivek - Thursday, January 25, 2018 6:45 PM
GilaMonster - Thursday, January 25, 2018 2:12 PM
Revenant - Thursday, January 25, 2018 1:44 PM
GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are.

Maybe not, but GGPlot in reports is pretty damn close. :-)

Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work
Thanks Gail. I agree with you. And will definitely follow this statement. The reason I bring up this point is that I am going to join a new organization next month. And there, I will get a chance to learn C#. But I was also excited about R/Python also. I have educated some guys on T-SQL skills in last few months. And most of them didn't have any knowledge about SQL before they started their one to one classes with me. And they were also learning python/R in parallel to get job as Data Scientists. So, I was under impression that where the area of learning is expanding itself. Is it really easy to learn SQL for 2-3 months and get a job as Data Scientists with good compensation? Should I also start learning these languages also? And there are around 3 questions that I see in Question of the day are related to R language.

Vivek

No one, and I think I know what I am talking about, no one gets a (decent) job as a data scientist after a 2-3 months training. You need a really good grasp of matrix algebra, just for starters. Then comes, IMO, an MSc level of knowledge of statistics. And then it comes to whether numbers really talk to you and you understand what they are saying.

Yes, the job pays well but not everyone can make it.
By Revenant - Thursday, January 25, 2018 12:04 PM

Please let me get back to the question posed by the name of the topic: "Is learning Python/R an advantage for SQL Server Developers?" Yes, it is, but be ready for lots of learning beyond Python itself.
By Revenant - Thursday, January 25, 2018 8:25 AM

GilaMonster - Thursday, January 25, 2018 3:18 PM
Revenant - Thursday, January 25, 2018 3:12 PM
GilaMonster - Thursday, January 25, 2018 2:12 PM
Revenant - Thursday, January 25, 2018 1:44 PM
GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are.

Maybe not, but GGPlot in reports is pretty damn close. :-)

Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

Gail

I respect you highly and I hope we can agree that if Microsoft does not clean their act and do something really revolutionary, SSRS will be dead and GGPlot and other tools will take over. Over the last few years I have seen that my users no longer go for SSRS but download their data into Excel Pivot Tables. The typical scenario is that a biz analyst comes in the morning, starts a download, goes to get his/her cup of coffee, comes back, curses when s/he sees that the download has not finished yet (and blames me), waits a few more minutes and when the download finishes, works with the downloaded as-per-yesterday data for the rest of the day. Rinse and repeat. Wink

Due to the file size limitations, Power BI is not that popular.

Most of the BI-type people at my company (and there's no insult intended in that) use Tableau, Qlikview/Qliksense and other such tools for reporting and for the users to play with the data in. I can't remember the last time we recommended SSRS for anything other than simple operational reports. We've got some clients using PowerBI, not many.
I've switched most of my graphing from excel to R, just need to find the time to write some import/process/draw functions for the stuff that's still in Excel and they'll all be R (I do a lot of reports for clients, as in 20+ page Word docs with multiple graphs)

Totally agree. Biz analysts are by their nature conservative but when they find what R can do for them on their desktop, we will have a tidal wave.

My users: MSFT Finance and Entertainment.
By GroverVivek - Thursday, January 25, 2018 11:45 AM

GilaMonster - Thursday, January 25, 2018 2:12 PM
Revenant - Thursday, January 25, 2018 1:44 PM
GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are.

Maybe not, but GGPlot in reports is pretty damn close. :-)

Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work
Thanks Gail. I agree with you. And will definitely follow this statement. The reason I bring up this point is that I am going to join a new organization next month. And there, I will get a chance to learn C#. But I was also excited about R/Python also. I have educated some guys on T-SQL skills in last few months. And most of them didn't have any knowledge about SQL before they started their one to one classes with me. And they were also learning python/R in parallel to get job as Data Scientists. So, I was under impression that where the area of learning is expanding itself. Is it really easy to learn SQL for 2-3 months and get a job as Data Scientists with good compensation? Should I also start learning these languages also? And there are around 3 questions that I see in Question of the day are related to R language.
By GroverVivek - Thursday, January 25, 2018 11:49 AM

Revenant - Thursday, January 25, 2018 1:44 PM
GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are. Its strength is in lightning fast behind the scenes matrix operations, including, but not limited to, neural networks. IMO the strongest point of R on SQL Server is its ability to work with tables as matrices, which makes it extremely efficient.

I am still in awe that I can call R from T-SQL, then T-SQL or Python from R, go as deep as you wish, no practical limit.

Thanks. Makes great sense.
By GroverVivek - Wednesday, January 31, 2018 10:45 PM

Steve Jones - SSC Editor - Tuesday, January 30, 2018 9:34 AM
GroverVivek - Thursday, January 25, 2018 6:45 PM
Thanks Gail. I agree with you. And will definitely follow this statement. The reason I bring up this point is that I am going to join a new organization next month. And there, I will get a chance to learn C#. But I was also excited about R/Python also. I have educated some guys on T-SQL skills in last few months. And most of them didn't have any knowledge about SQL before they started their one to one classes with me. And they were also learning python/R in parallel to get job as Data Scientists. So, I was under impression that where the area of learning is expanding itself. Is it really easy to learn SQL for 2-3 months and get a job as Data Scientists with good compensation? Should I also start learning these languages also? And there are around 3 questions that I see in Question of the day are related to R language.

We are doing R questions once a week as they seem to be popular and they help me learn as well Wink

R and Python, really the Data Science and Machine Learning, interest is expanding because there is lots of publishing and writing about how companies are starting to use these technologies more. Whether this is useful and they will continue remains to be seen, but if you have an interest, learn them. Learning is good and keeps your brain fresh. It's a skill that you need.

I agree with Jeff that becoming better at SQL is important. Much of the ML/AI stuff still involves moving data around, cleaning it, etc., and SQL does a great job of that, but if you want variety, and your company uses other languages, splitting your learning is fine.

There is no should. You must decide what you are interested in and what presents opportunities for you

Agreed. Thanks Smile
By xsevensinzx - Thursday, January 25, 2018 1:18 PM

Revenant - Thursday, January 25, 2018 3:12 PM
GilaMonster - Thursday, January 25, 2018 2:12 PM
Revenant - Thursday, January 25, 2018 1:44 PM
GroverVivek - Thursday, January 25, 2018 11:04 AM
And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

Strength of R is not in its graphics libraries, no matter how powerful they are.

Maybe not, but GGPlot in reports is pretty damn close. :-)

Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

Gail

I respect you highly and I hope we can agree that if Microsoft does not clean their act and do something really revolutionary, SSRS will be dead and GGPlot and other tools will take over. Over the last few years I have seen that my users no longer go for SSRS but download their data into Excel Pivot Tables. The typical scenario is that a biz analyst comes in the morning, starts a download, goes to get his/her cup of coffee, comes back, curses when s/he sees that the download has not finished yet (and blames me), waits a few more minutes and when the download finishes, works with the downloaded as-per-yesterday data for the rest of the day. Rinse and repeat. Wink

Due to the file size limitations, Power BI is not that popular.

Really comparing apples to oranges here. The time it takes to use any of these visualization tools with actual point-and-click GUI interfaces will always have their attraction to a user who does not want to code-in a visualization in R or Python. This is really where the rubber hits the road because you can spend a lot of time on a single graphic, especially in Python, that you could likely just get away with keeping it simple elsewhere.

Don't take this as me saying one is better than the other, but there is a clear reason why a lot of these newer visualization tools are generating steam. They are extremely easy to query a dataset and drop it right into a graphic where you can easily switch between attributes and metrics. PowerBI is the latest example and the users are eating it up because of how simple it is. You start dropping GGPlot, Seaborn, Matplotlib in their laps, they will likely quit.

Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.


Actually, most of the data scientist I've worked with struggle with SQL, databases, OLAP and much more. This is because there is such a small focus on databases, data stores and other advance data concepts that have nothing to do with statistics and probability. My whole role was developed around the huge technology gap that most data scientist have, especially when acquiring data from a data warehouse, automation of what they build and creating data platforms that can quantify more data than what they can do locally on their machines in R and Python (if you're data gets large enough).

So, if you were to ask me if you needed to know it inside and out, the answer for the business is -- YES! Having one person as opposed to two people is always going to be the way to go for the business. Therefore, the more you can do as a data scientist that does not need a data engineer, SQL developer or whatever the better. And if you think that you simply don't need SQL skills because you can just do it in R, then where exactly is your data coming from? Think you're just going to walk into a table and SELECT * FROM X? What if the data is 100 GB? You going to aggregate it in R locally? You going to toss it in Redshift? So many variables come into play where it's just easier for you to solve that in SQL first and finish it up in R second.

At the end of the day, most of the time spent with data scientist is acquiring, cleaning, and conforming data. If an underlying system like SQL Server can do this for you, then the data scientist can spend more time working with the data from a scientific standpoint rather than being an ETL developer, SQL developer and everything else in R or Python. This is why SQL Developers and everyone else on the opposite end should pick up R and Python because it's good to know in order to support them and automate it when it's something golden.
By xsevensinzx - Thursday, January 25, 2018 11:11 PM

GilaMonster - Friday, January 26, 2018 12:24 AM


xsevensinzx - Thursday, January 25, 2018 8:18 PM

Really comparing apples to oranges here.

Not really. We're talking about consuming SSRS reports vs using the visualisation tools. No one's suggesting handing R or Python to the people who use the reports/visualisation tools


When you say things like, "SSRS will be dead and GGPlot and other tools will take over." Then you are saying that both are competing and one will replace the other in the same problem they are both trying to solve. This is simply not true in the slightest.