a:6:{i:0;s:6807:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for senior data analyst in chennai</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.bsrics.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.bsrics.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for senior data analyst in chennai</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Senior Data Analyst</div>
									<p class="mt7px fw6">Chennai</p>
									
				<br>
				<p class="aj mt7px">We have openings for Senior Data Analyst in MNC Chennai, Find the below Job description for your reference.<br />
Independently executes data analysis, data mining, reporting and visualization projects using SQL, Hadoop, Alteryx, Qlikview, SAS and appropriate tools. Understands the requirements from project teams, processes appropriate data sets, generates insightful reports, develops appropriate wireframes/visualization and associated data workflows. Independently interacts with client management to prioritize projects, task and deliverables. The successful candidate has a passion and deep experience in descriptive analytics & reporting. She/he will have expertise in problem-solving, efficiently analyzing very large customer data sets from multiple, disparate sources; She/he will be able to multi-task between Adhoc and project-based analytics deliverables. Bachelor/Masters Degree in a technical field is required (computer science, information systems, mathematics, statistics); a Masters degree is preferred.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  To  15  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Data Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px">Data Analysis</span>
												<span class="bdr dib p2px10px mr5px mt2px">SQL</span>
												<span class="bdr dib p2px10px mr5px mt2px">Data Mining</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr.S.Buvanesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Regus Business Centre, No.136, 3rd Floor, Shyamala Tower, Arcot Rd,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9176376488 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:admin@bsrisolutions.com"> admin@bsrisolutions.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="979504"><input type="hidden" name="subject" value="Applied for Senior Data Analyst">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(9)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(7)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'RlExVmlTWUhJUVdvRnZRSWNoRkZFQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:72:"Job openings for senior data analyst in chennai | BSRI Solutions Pvt Ltd";i:2;s:201:"Senior Data Analyst Jobs,Senior Data Analyst Jobs in Chennai,Senior Data Analyst Vacancy in Chennai,Senior Data Analyst jobs in India,IT Software - Application Programming / Maintenance jobs in Chennai";i:3;s:312:"Apply for Senior Data Analyst Jobs in Chennai India - Senior Data Analyst Vacancy  in IT Software - Application Programming / Maintenance field with 3 to 5 years Work Experience, Key Skills are Data Analyst,Data Analysis,SQL,Data Mining, IT Software - Application Programming / Maintenance jobs in Chennai  India";i:4;s:1694:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Data Analyst",
		  "baseSalary": " 3  Lac  To  15  Lac ",
		  "description": "We have openings for Senior Data Analyst in MNC Chennai, Find the below Job description for your reference.
Independently executes data analysis, data mining, reporting and visualization projects using SQL, Hadoop, Alteryx, Qlikview, SAS and appropriate tools. Understands the requirements from project teams, processes appropriate data sets, generates insightful reports, develops appropriate wireframes/visualization and associated data workflows. Independently interacts with client management to prioritize projects, task and deliverables. The successful candidate has a passion and deep experience in descriptive analytics & reporting. She/he will have expertise in problem-solving, efficiently analyzing very large customer data sets from multiple, disparate sources; She/he will be able to multi-task between Adhoc and project-based analytics deliverables. Bachelor/Masters Degree in a technical field is required (computer science, information systems, mathematics, statistics); a Masters degree is preferred.",
		  "educationRequirements": "",
		  "experienceRequirements": "3 - 5 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "",
		     "skills": "Data Analyst,Data Analysis,SQL,Data Mining"
		  }
		</script>
		";i:5;N;}