Power BI Dashboard Build w/ SQL

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

TYPE OF WORK

Any

SALARY

$10/hour

HOURS PER WEEK

TBD

DATE UPDATED

Jul 31, 2026

JOB OVERVIEW

We are seeking an experienced Power BI and SQL developer to build professional, easy-to-use dashboards that provide clear visibility into company performance and operational data.

The ideal candidate must be able to understand business requirements, analyze existing data, write and troubleshoot SQL queries, and transform raw information into meaningful Power BI reports.

Responsibilities include:

Review and understand existing SQL Server tables, views, and stored procedures.
Clean, organize, and validate data before loading it into Power BI.
Build Power BI data models and establish accurate table relationships.
Create DAX measures for KPIs, percentages, year-over-year comparisons, trends, and other business calculations.
Develop professional dashboards with KPI cards, charts, tables, slicers, drill-through pages, and user-friendly navigation.
Ensure dashboard totals match the underlying SQL data.
Improve report performance and simplify the data model where possible.
Assist with publishing reports to Power BI Service, scheduled refreshes, and SharePoint embedding.
Clearly explain the report logic, SQL queries, and calculations so the dashboard can be maintained internally.

The dashboards may cover areas such as sales, gross profit, accounts receivable, estimating performance, service costs, production, project management, and operational KPIs.

The successful candidate should have strong experience with:

Microsoft Power BI
SQL Server and SQL Server Management Studio
DAX
Power Query
Data modeling and table relationships
Stored procedures, views, joins, CTEs, and aggregate queries
Power BI Service and scheduled data refreshes
Dashboard design and data visualization
Troubleshooting inaccurate, missing, or duplicated data

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0047
Controller Execution Time ( Jobseekers / Job )  0.0142
Total Execution Time  0.0197
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,483,880 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Power-BI-Dashboard-Build-w-SQL-1700305
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0060 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1700305
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 960885
 LIMIT 1 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1700305
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-15',ej.date_added) duration_daysDATEDIFF('2026-08-15',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-08-15',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1700305' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1700305 
0.0006   UPDATE employer_jobs SET hit_counts '***Jul-31-2026=627***Aug-01-2026=137***Aug-02-2026=88***Aug-03-2026=131***Aug-04-2026=89***Aug-05-2026=64***Aug-06-2026=44***Aug-07-2026=37***Aug-08-2026=16***Aug-13-2026=1***Aug-15-2026=2' WHERE job_id'1700305'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=627***Aug-2026=609' WHERE job_id'1700305'  
0.0012   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1700305' 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` = 1700305 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '960885'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)