a:6:{i:0;s:7928:"				<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="h1"><h1>Job openings for tableau reporting analyst in pune</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.petrichorconsultancy.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.petrichorconsultancy.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for tableau reporting analyst in pune</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Tableau Reporting Analyst</div>
									<p class="mt7px fw6">Pune</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="1002779">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1004546"><input type="hidden" name="subject" value="Applied for Tableau Reporting Analyst">
					</form>
			
									</div></div>
				</div>
								
				<br>
				<p class="aj mt7px">Must have 5+ years of Reporting & Analytics experience of which at least 1+ year hands-on experience in Tabeau in developing dashboards using multiple data sources (DBs, Excel, SharePoint, etc.).<br />
Good communication: written and verbal (7/10)<br />
Excellent interpersonal and collaborative skills<br />
Own and manage end to end automation using Alteryx Reporting processes including identifying key report metrics<br />
Managing the Alteryx server, setting up permissions, managing releases, building and troubleshooting flows<br />
End-to-end capability to support Alteryx<br />
Must have worked in 1 or more industry domains (retail, telecom etc.) or 1 or more functional domains such as Sales & Marketing, Finance, Operations, HR, etc. supporting Business Intelligence needs<br />
Candidate should be able to engage and develop strong working relationships with business stakeholders in order to anticipate and understand key business requirements through multiple discussions<br />
Good proficiency in using at least one other visualization tool such as Power BI, Qliksense etc.<br />
Good understanding of relational databases with hands on experience in SQL programming<br />
Ability to work independently and with minimal supervision </p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 49 Thousand  9  Hundered  90 9 To  18  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Others</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Reporting & Analytics</span>
												<span class="bdr dib p2px10px mr5px mt2px">Tabeau</span>
												<span class="bdr dib p2px10px mr5px mt2px">Alteryx Tableau</span>
												<span class="bdr dib p2px10px mr5px mt2px"> SQL</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Power BI</span>
												<span class="bdr dib p2px10px mr5px mt2px">Alteryx</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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Infosys</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">https://www.infosys.com/</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Pritish Patil</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9371498190 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:Petrichor.technology@gmail.com"> Petrichor.technology@gmail.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="1002779">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1004546"><input type="hidden" name="subject" value="Applied for Tableau Reporting 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-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(3)</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">(4)</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">(2)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</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: 'RE5NdDZxT0hiajVxRXR4TWpBalNNdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:74:"Job openings for tableau reporting analyst in pune | Petrichor Consultancy";i:2;s:185:"Tableau Reporting Analyst Jobs,Tableau Reporting Analyst Jobs in Pune,Tableau Reporting Analyst Vacancy in Pune,Tableau Reporting Analyst jobs in India,IT Software - Others jobs in Pune";i:3;s:282:"Apply for Tableau Reporting Analyst Jobs in Pune India - Tableau Reporting Analyst Vacancy  in IT Software - Others field with 5 to 10 years Work Experience, Key Skills are Reporting & Analytics,Tabeau,Alteryx Tableau, SQL, Power BI,Alteryx, IT Software - Others jobs in Pune  India";i:4;s:2461:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Tableau Reporting Analyst",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Infosys",
	        "value":  "1004546"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Infosys",
	      "description": "https://www.infosys.com/",
	      "telephone" : "9371498190",
	      "email" : "Petrichor.technology@gmail.com"  
	       },
		  "url": "http://www.petrichorconsultancy.in/job-openings-for-tableau-reporting-analyst-pune-1004546.htm",
          "datePosted": "2021-05-27",
          
		  "baseSalary": " 49 Thousand  9  Hundered  90 9 To  18  Lac ",
		  "description": "Must have 5+ years of Reporting & Analytics experience of which at least 1+ year hands-on experience in Tabeau in developing dashboards using multiple data sources (DBs, Excel, SharePoint, etc.).
Good communication: written and verbal (7/10)
Excellent interpersonal and collaborative skills
Own and manage end to end automation using Alteryx Reporting processes including identifying key report metrics
Managing the Alteryx server, setting up permissions, managing releases, building and troubleshooting flows
End-to-end capability to support Alteryx
Must have worked in 1 or more industry domains (retail, telecom etc.) or 1 or more functional domains such as Sales & Marketing, Finance, Operations, HR, etc. supporting Business Intelligence needs
Candidate should be able to engage and develop strong working relationships with business stakeholders in order to anticipate and understand key business requirements through multiple discussions
Good proficiency in using at least one other visualization tool such as Power BI, Qliksense etc.
Good understanding of relational databases with hands on experience in SQL programming
Ability to work independently and with minimal supervision ",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "5 - 10 Years",
		  "industry": "IT Software - Others",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Reporting & Analytics,Tabeau,Alteryx Tableau, SQL, Power BI,Alteryx"
		  }
		</script>
		";i:5;N;}