Power BI Developer

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Any

WAGE / SALARY

DOE

HOURS PER WEEK

TBD

DATE UPDATED

Nov 26, 2025

JOB OVERVIEW

About the Role
We’re looking for a Power BI Developer who’s comfortable working with clean, organized data—and even more comfortable fixing it when it’s not. This role focuses on building dashboards, improving data models, and creating reliable reporting that helps the business make decisions quickly. If you enjoy turning raw data into clear insights, you’ll fit right in.

What You’ll Do
Build, maintain, and optimize Power BI dashboards and reports
Develop data models, DAX calculations, and query logic for scalable analytics
Work directly with Snowflake: writing SQL, optimizing queries, and managing data pipelines
Partner with cross-functional teams to understand reporting needs and translate them into usable visuals
Ensure data accuracy, consistency, and refresh reliability across reports
Create documentation for datasets, transformations, and report logic
Support ad hoc analysis when new business questions come up

What We’re Looking For
2–5+ years of experience as a Power BI Developer or similar analytics role
Strong experience with Snowflake: SQL, views, schemas, virtual warehouses, and performance tuning
Strong Power BI skills: DAX, Power Query (M), data modeling, and visualization best practices
Ability to design clean, intuitive dashboards for non-technical users
Experience with large datasets and complex data structures
Familiarity with ETL/ELT concepts and version control practices
Comfortable working in a fast-moving environment with shifting priorities
Clear communicator who can explain technical concepts in simple terms

Nice to Have
Experience with Python, dbt, or Airflow
Familiarity with APIs or building custom connectors
Understanding of Power BI governance and tenant administration
Background working with multi-location or multi-brand organizations

What You’ll Bring
A problem-solving mindset, a bias toward action, and the willingness to own your work from end to end. Someone who cares about data quality as much as aesthetics in a dashboard will do well here.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0546
Total Execution Time  0.0560
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,032 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Power-BI-Developer-1522384
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0450 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1522384
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 682684
 LIMIT 1 
0.0359   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1522384
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-21',ej.date_added) duration_daysDATEDIFF('2026-06-21',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1522384' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1522384 
0.0018   UPDATE employer_jobs SET hit_counts '***Nov-26-2025=80***Nov-27-2025=86***Nov-28-2025=26***Nov-29-2025=11***Nov-30-2025=21***Dec-01-2025=13***Dec-02-2025=24***Dec-03-2025=12***Dec-04-2025=13***Dec-05-2025=8***Dec-06-2025=4***Dec-07-2025=4***Dec-08-2025=9***Dec-09-2025=3***Dec-10-2025=8***Dec-11-2025=5***Dec-12-2025=3***Dec-13-2025=4***Dec-14-2025=4***Dec-15-2025=11***Dec-16-2025=5***Dec-17-2025=5***Dec-18-2025=5***Dec-19-2025=3***Dec-20-2025=5***Dec-21-2025=1***Dec-22-2025=5***Dec-24-2025=1***Dec-25-2025=1***Dec-26-2025=4***Dec-27-2025=4***Dec-28-2025=2***Dec-30-2025=1***Dec-31-2025=1***Jan-01-2026=1***Jan-02-2026=4***Jan-03-2026=1***Jan-04-2026=7***Jan-05-2026=8***Jan-06-2026=2***Jan-07-2026=5***Jan-08-2026=1***Jan-09-2026=2***Jan-10-2026=1***Jan-11-2026=1***Jan-12-2026=3***Jan-14-2026=1***Jan-15-2026=3***Jan-16-2026=2***Jan-17-2026=2***Jan-18-2026=6***Jan-19-2026=1***Jan-20-2026=1***Jan-21-2026=2***Jan-22-2026=4***Jan-23-2026=2***Jan-24-2026=1***Jan-25-2026=1***Jan-27-2026=6***Jan-28-2026=2***Jan-29-2026=1***Jan-30-2026=2***Feb-01-2026=3***Feb-02-2026=4***Feb-03-2026=2***Feb-05-2026=2***Feb-06-2026=1***Feb-07-2026=2***Feb-08-2026=1***Feb-09-2026=1***Feb-10-2026=1***Feb-13-2026=5***Feb-14-2026=2***Feb-15-2026=4***Feb-17-2026=1***Feb-18-2026=3***Feb-19-2026=3***Feb-21-2026=2***Feb-23-2026=3***Feb-27-2026=1***Feb-28-2026=1***Mar-01-2026=1***Mar-02-2026=1***Mar-03-2026=1***Mar-04-2026=3***Mar-05-2026=4***Mar-07-2026=1***Mar-08-2026=1***Mar-09-2026=1***Mar-10-2026=3***Mar-12-2026=2***Mar-17-2026=2***Mar-20-2026=1***Mar-22-2026=4***Mar-23-2026=1***Mar-25-2026=3***Mar-26-2026=9***Mar-27-2026=4***Mar-28-2026=2***Mar-29-2026=1***Apr-01-2026=2***Apr-03-2026=1***Apr-05-2026=2***Apr-06-2026=5***Apr-07-2026=1***Apr-08-2026=2***Apr-10-2026=2***Apr-11-2026=1***Apr-12-2026=1***Apr-14-2026=2***Apr-16-2026=1***Apr-17-2026=2***Apr-18-2026=1***Apr-19-2026=4***Apr-20-2026=4***Apr-21-2026=7***Apr-22-2026=1***Apr-23-2026=1***Apr-25-2026=1***Apr-26-2026=3***Apr-27-2026=1***Apr-28-2026=1***Apr-29-2026=2***Apr-30-2026=4***May-01-2026=2***May-02-2026=3***May-03-2026=3***May-04-2026=3***May-05-2026=1***May-06-2026=6***May-08-2026=2***May-09-2026=5***May-11-2026=1***May-12-2026=2***May-13-2026=1***May-14-2026=2***May-15-2026=4***May-16-2026=2***May-17-2026=1***May-20-2026=1***May-21-2026=2***May-26-2026=2***May-29-2026=2***May-30-2026=1***May-31-2026=4***Jun-02-2026=1***Jun-04-2026=1***Jun-05-2026=1***Jun-06-2026=2***Jun-10-2026=1***Jun-11-2026=1***Jun-12-2026=3***Jun-13-2026=1***Jun-14-2026=2***Jun-16-2026=2***Jun-17-2026=1***Jun-18-2026=2***Jun-19-2026=1***Jun-20-2026=2***Jun-21-2026=1' WHERE job_id'1522384'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Nov-2025=224***Dec-2025=168***Jan-2026=73***Feb-2026=42***Mar-2026=45***Apr-2026=52***May-2026=50***Jun-2026=22' WHERE job_id'1522384'  
0.0012   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1522384' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1522384 
0.0025   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '682684'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)