Power BI Developer

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

TYPE OF WORK

Full Time

SALARY

$8-12 per hour

HOURS PER WEEK

TBD

DATE UPDATED

Jul 24, 2026

JOB OVERVIEW

Business Intelligence Developer (Remote – Philippines)
Sola Kids Dental & Orthodontics | Full-Time, 40 hrs/week | $8–$12/hour USD (based on experience)

About Us
Sola Kids Dental & Orthodontics is a growing multi-location pediatric dental and orthodontics group based in Los Angeles. We're expanding into new markets and building out the data infrastructure to support that growth.

The Role
We're hiring a Business Intelligence Developer to build and maintain Power BI dashboards that help our leadership team, office managers, and clinical staff make better decisions. You'll work directly with our CEO and BI lead, take ownership of dashboard development end-to-end, and have a real seat at the table in shaping how we measure performance across the company.

What You'll Do
- Build new Power BI dashboards from scratch based on business requirements
- Maintain, improve, and troubleshoot existing dashboards
- Write and optimize SQL queries against our Open Dental (MariaDB) database and other data sources
- Build and maintain data models, DAX measures, and Power Query (M) transformations
- Document data sources, definitions, and dashboard logic
- Collaborate with stakeholders to translate business questions into clear visualizations

Required Qualifications
- 2+ years of hands-on Power BI development experience
- Strong SQL skills (joins, CTEs, subqueries, aggregations)
- Solid understanding of DAX and Power Query (M)
- Experience with data modeling (star schema, relationships, measures vs. calculated columns)
- Excellent written English and ability to communicate clearly with non-technical stakeholders
- Reliable high-speed internet and a quiet workspace
- Ability to work consistent overlapping hours with U.S. Pacific Time (see below)

Nice to Have
- Experience with healthcare, dental, or multi-location retail/service business data
- Experience with BigQuery, Looker Studio, or other BI tools
- Familiarity with Open Dental or similar practice management systems
- Power BI certification (PL-300 or similar)

Schedule & Commitment
40 hours per week, Monday–Friday
Must commit to regular, consistent working hours
Must be available for 3 recurring meetings per week with the U.S. team (times TBD, but will require some overlap with Pacific Time afternoon hours)

Compensation
$8–$12 USD per hour, based on experience, paid via Wise

Apply here with the following: ----------
- Your resume
- A short note (3–5 sentences) on why you're interested
- A short video introducing yourself and overviewing one dashboard you've created.
- Links or screenshots of 2–3 Power BI dashboards you've built (please describe your specific role and contribution)

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0175
Total Execution Time  0.0188
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,488,712 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Power-BI-Developer-1638447
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0114 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1638447
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 808825
 LIMIT 1 
0.0013   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1638447
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-30',ej.date_added) duration_daysDATEDIFF('2026-07-30',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-07-30',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1638447' 
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1638447 
0.0008   UPDATE employer_jobs SET hit_counts '***May-04-2026=395***May-05-2026=19***May-06-2026=7***May-07-2026=4***May-08-2026=3***May-09-2026=3***May-10-2026=2***May-12-2026=6***May-13-2026=3***May-14-2026=3***May-15-2026=1***May-17-2026=3***May-18-2026=8***May-19-2026=3***May-20-2026=4***May-21-2026=1***May-22-2026=4***May-23-2026=1***May-24-2026=2***May-25-2026=2***May-26-2026=4***May-27-2026=5***May-29-2026=2***Jun-01-2026=4***Jun-02-2026=2***Jun-03-2026=3***Jun-06-2026=1***Jun-07-2026=1***Jun-08-2026=2***Jun-10-2026=1***Jun-11-2026=1***Jun-13-2026=3***Jun-16-2026=4***Jun-17-2026=2***Jun-18-2026=1***Jun-19-2026=2***Jun-20-2026=1***Jun-22-2026=114***Jun-23-2026=100***Jun-24-2026=40***Jun-25-2026=28***Jun-26-2026=17***Jun-27-2026=9***Jun-28-2026=8***Jun-29-2026=13***Jun-30-2026=18***Jul-01-2026=5***Jul-02-2026=3***Jul-03-2026=8***Jul-04-2026=8***Jul-05-2026=3***Jul-06-2026=6***Jul-07-2026=3***Jul-08-2026=12***Jul-09-2026=3***Jul-10-2026=2***Jul-11-2026=6***Jul-12-2026=4***Jul-13-2026=6***Jul-14-2026=6***Jul-15-2026=1***Jul-16-2026=10***Jul-17-2026=2***Jul-18-2026=3***Jul-19-2026=3***Jul-20-2026=6***Jul-21-2026=3***Jul-22-2026=3***Jul-23-2026=9***Jul-24-2026=162***Jul-25-2026=67***Jul-26-2026=11***Jul-30-2026=1' WHERE job_id'1638447'  
0.0006   UPDATE employer_jobs SET monthly_hits '***May-2026=485***Jun-2026=375***Jul-2026=356' WHERE job_id'1638447'  
0.0016   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1638447' 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` = 1638447 
0.0043   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '808825'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)