CDI4 days ago

Data Analyst

Non precisé
Post A Job Post A Job Engineering & Technology Ba (Uganda)

Job Description

window.notificationMessages = []; Help us serve you better & stand to win a $200 Samsung phone & data bundles! Complete a short survey here Complete survey Help us serve you better & stand to win a $200 Samsung phone & data bundles! Complete a short survey here Complete survey Verify Employer Account Now Activate let hasCheckedBrowserAlert = false;

function bannerSlider(initialBanners = []) { return { banners: Array.isArray(initialBanners) ? initialBanners : [], activeSlide: 1, timer: null, hydrated: false,

init() { this.hydrated = true;

this.$nextTick(() => { this.deferLoop();

});

},

loop() { if (this.banners.length > 1 && !this.timer) { this.timer = setInterval(() => { this.activeSlide = (this.activeSlide % this.banners.length) + 1;

}, 5000);

} },

deferLoop() { if (this.banners.length this.loop();

if ("requestIdleCallback" in window) { requestIdleCallback(start, { timeout: 6000 }); } else { setTimeout(start, 5000); } },

pause() { if (this.timer) { clearInterval(this.timer); this.timer = null; } },

resume() { this.deferLoop(); },

resetLoop() { if (this.timer) { clearInterval(this.timer); this.timer = null; } this.deferLoop(); },

setSlide(num) { this.activeSlide = num; this.resetLoop(); },

nextSlide() { if (!this.banners.length) return;

this.activeSlide = this.activeSlide === this.banners.length

? 1

: this.activeSlide + 1;

this.resetLoop(); },

prevSlide() { if (!this.banners.length) return;

this.activeSlide = this.activeSlide === 1 ? this.banners.length : this.activeSlide - 1;

this.resetLoop(); },

addBanner(banner) { const alreadyExists = this.banners.some( b => b.banner_type === banner.banner_type, );

if (!alreadyExists) { this.banners.unshift(banner); } },

deferBrowserAlertBanner() { const run = () => this.showBrowserAlertBanner();

if ("requestIdleCallback" in window) { requestIdleCallback(run, { timeout: 8000 }); } else { setTimeout(run, 6000); } },

showBrowserAlertBanner() { const maxRetries = 10; const retryInterval = 300;

const browserAlertBanner = { icon: "speakerphone", banner_text: Authorise this browser to receive instant browser alerts., banner_cta_event: "onesignal_subscribe", banner_type: "browser_alert", };

return new Promise((resolve) => { let retries = 0;

const interval = setInterval(() => { if (typeof window.checkIfHasOnesignalPlayerId === "function") { clearInterval(interval);

if (!hasCheckedBrowserAlert) { hasCheckedBrowserAlert = true;

window.checkIfHasOnesignalPlayerId((result) => { if (result) { this.addBanner(browserAlertBanner); resolve(browserAlertBanner); } else { resolve(false); }

});

} else { resolve(false); } } else { retries++;

if (retries >= maxRetries) { clearInterval(interval); resolve(false); } } }, retryInterval);

});

},

hideBrowserAlertBanner() { this.banners = this.banners.filter( banner => banner.banner_type !== "browser_alert", ); this.activeSlide = 1; }, }; } Find a Job + + + + Search const TopSearch = { handleSubmit: function (event) { event.preventDefault(); event.stopPropagation();

const form = event.target;

const getValue = (name) => { if (form[name]) { if (form[name].type) { if (["select-one", "text", "hidden"].indexOf(form[name].type) > -1) { return form[name].value; } if (["checkbox", "radio"].indexOf(form[name].type) > -1 && form[name].checked) { return form[name].value; } } else if (form[name].length) { return form[name].value; } }

return ""; };

const experienceLevel = getValue("experience[]") || getValue("experience"); const jobFunction = getValue("job_function[]") || getValue("job_function"); const industry = getValue("industry[]") || getValue("industry"); const location = getValue("location[]") || getValue("location"); const workType = getValue("work_type"); const term = getValue("q"); const sortBy = getValue("sort_by");

// If the logged in user is authenticated // Append authenticated value to make url unique/different to logged out url // same action is happening in SearchFilterViewComposer // line 589 in the multiSearchFilterHref function const authenticated = document.getElementById("authenticated").value; let toUrl = ""; if (industry.trim() && jobFunction.trim()) { const segments = [jobFunction, location, workType].filter((x) => x); toUrl = ${segments.join("/")}?industry=${industry}; } else { const segments = [jobFunction, industry, location, workType].filter((x) => x); toUrl = segments.join("/"); }

if (experienceLevel) { toUrl += ${toUrl.indexOf("?") === -1 ? "?" : "&"}experience=${experienceLevel}; }

if (term.trim()) { toUrl += ${toUrl.indexOf("?") === -1 ? "?" : "&"}q=${encodeURI(term.replace(" ", "+"))}; }

if (sortBy.trim()) { toUrl += ${toUrl.indexOf("?") === -1 ? "?" : "&"}sort=${sortBy}; }

if (authenticated === "true") { toUrl += ${toUrl.indexOf("?") === -1 ? "?" : "&"}authenticated=${Date.now()}; }

const wholeUrl = `${form.getAttribute("action")}/${toUrl.to

---

**

[Click the Apply button below to see the contact details]

Ready to apply?

Safety Reminder

Never pay money to get an interview. Taf4All will never contact you to request application fees.

You might also be interested in

NO

Analyst

Non preciséPost A Job Post A Job Admin & Office Recruitment

Analyst chez Non precisé à Post A Job Post A Job Admin & Office Recruitment.

Stage
il y a 2 mois
T4

Data Analyst

Lusaka

Data Analyst chez Recruteur à Lusaka.

CDI
il y a 7 jours
JO

DATA ANALYST

The Data Analyst will collect, clean, and analyze data to support business decision‑making. Responsibilities include gen

CDI
il y a 12 jours