a:6:{i:0;s:7878:"					<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="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Senior Data Analyst</div>
									<p class="mt7px fw6">Chennai</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="1006363"><input type="hidden" name="subject" value="Applied for Senior Data Analyst">
					</form>
			
									</div></div>
				</div>
								
				<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>
												<span class="bdr dib p2px10px mr5px mt2px"></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="1006363"><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">(15)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(2)</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">(12)</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-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</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: 'RTZQZ2NxR0pEeDV1K2NqMDZORkpXdz09',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:316:"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:2169:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Data Analyst",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1006363"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9176376488",
	      "email" : "admin@bsrisolutions.com"  
	       },
		  "url": "https://www.bsrics.com/job-openings-for-senior-data-analyst-chennai-1006363.htm",
          "datePosted": "2021-06-10",
          
		  "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;}