A sample of my professional & personal projects
Data Modeling
Optimizing Power BI data/semantic models is necessary for reports that are highly utilized and contain large amounts of data. In the project highlighted here, I worked with the report owner to redesign the model from the ground up. This dataset was consuming a large percentage of the organization’s production workspace capacity units (CU), causing organization-wide throttling in the Power BI service. The redesign was effective; the new model is a quarter of the size of the original model and uses approximately 14% of the original model’s CU without changing any of the report functionality or data. This effect was achieved by utilizing a star schema and removing snowflaking tables, modifying relationships so that many to many and bidirectional relationships were eliminated, removing data not used in the report, removing calculated columns, turning off auto date/time, and optimizing the DAX measures.
The charts below demonstrate the significant drop in CU after the new model was published. The line chart shows the drop in CU per user while the scatter plot highlights the CU difference in days with similar user counts.


Deneb Visuals
Deneb provides a way to create custom visuals inside of Power BI using Vega or Vega-Lite. I’ve found Power BI core visuals are sufficient for most business scenarios. However, there are instances where a bespoke visual more clearly and effectively communicates insight.

Dumbbell Chart
Comparing change from Value 1 to Value 2 which could be used to display differences between categorical variables or comparison of the same metric from one period to another.

Bump Chart
The intention of this visual is to compare ranks over time by categorical variable (“person” here). I used Deneb transformations to calculate the first and last months in order to add labels on either side of the chart as opposed to creating separate measures to identify these values. The selected table row shows how cross-highlighting can be configured within Deneb to achieve full interactivity within Power BI.

Survey Data
The simulates comparing survey responses across categorical variables. I played around heavily with transformations inside of Deneb to allow users to place a neutral rating on either side of “average”/zero. Tooltips are also configured within Deneb to prevent Deneb’s funky syntax, like “metric__highlight”, from automatically being displayed in tooltips.

Re-do of Charticulator precipitation visual
A recreation of the precipitation visual below, this time using Deneb. I wanted to challenge myself to get as close as possible to the previous Charticulator version which is no longer supported by Power BI.
Training
I have experience advising Power BI developers on modeling, DAX, and visualization best practices. Below is one page from a sample report I developed and presented to new developers to introduce the capabilities of Power BI (cross visual filtering, drill through, tooltips, etc.). The pbix was shared with these developers and accompanied by materials and instruction on getting started with Power BI.
Office Wall Art
These projects had the simple purpose of creating pretty wall art that fit into my office color scheme (the second visualization deviated a bit from the colors but I’m a sucker for purple so I let it slide!). All three were created with Charticulator and were my first experimentation with custom visuals inside of Power BI. I was initially excited about the release of Charticulator within Power BI but after some exploration I found it to be a bit cumbersome to work with and slow to render. These were really fun to create but I’m looking to other custom visuals such as Deneb for my future work.

Average to max precipitation by day of the year for my home town
This is the largest of the visuals displayed on my office walls and fits in perfectly in terms of scheme. I love how the lines are like drops of rain!
Had this been a professional project, I would have added x and y axes labeling the day number of the year moving from left to right and the max rainfall on each day number as the length of the drop. But I wanted simplicity so kept it sparce (I wasn’t planning to add any data labels until I saw the outlier on 9/18/04 — that data point I had to include!).

Alta ski season snowfall
My only ventures outside of the East Coast to ski have been to the Salt Lake City, Utah area resorts and Alta is one of my favorites. I’ve had the opportunity to visit three times over the last several years but each time I go I hit one of the driest weeks of the season. I was curious to explore the combination of both snowfall by day and total snow accumulation to see where my trips fit into each season. I had intended to label the dates of my trip with rectangle overlays but liked the visual without them and didn’t want the extra noise. (I’ll always know my trips fell on days where the lines behind the bubbles are visible😣!)

Temperatures on my birthday
This is a very simple visual but adds just the right pop of color to my office. Plus, it’s my proof that the temperature swings on my birthday are real! I could have a gorgeous 70 degrees day with sunshine or I could be relegated to the indoors while watching the flurries come down (minus the days that I ski, I hate the cold).
Higher Education Reports
The following is a series of publicly available reports I developed during my time at Penn State University. My last updates were in the spring of 2022 and are reflected in the videos below.
This was the first Power BI report used to present research data for the University. Previously, an annual report was published to the web as a PDF.
It was important that this report clearly present the data as two separate entities, because the data reported to and sourced from the National Science Foundation (NSF) is not the same data used for the internal report.
For this project I used Python to automate the steps of merging and transforming the NSF CSV files before importing them into Power BI. Charticulator was used to create the rank (bump) and the field matrix visuals.
A major challenge in this and other reports in the series was creating a way for users to view the intersection of variables on the demographics pages. I developed the reports before the introduction of parameters in Power BI so I relied on DAX and inactive relationships to create this functionality.
One tricky component to this report was forcing the percentage point change on the summary page to display only when the cohort year and graduation time period selected by the user was populated with data. Working through this helped me refine my DAX skills.
One part of this report that worked well was the degree type display of both trends and distribution. The bars below the line charts give users quick insight into the relative size of each degree type. Users can also hover over the bars to view proportions by year in addition to the counts visible in the line charts. The dynamic titles showing change over the time period provide additional detail.
This report provided a welcome challenge as it delved into HR data which was a new focus area for me. Prior to this, the majority of my work was directly or indirectly related to student data.
My Puppy’s Growth
Daphne was adopted in February 2021 and I was curious to see how fast she was growing and if her growth was leveling off in the first year. (It wasn’t, she made it to 26 pounds!)
This gave me the opportunity to play around with images in tooltips. And of course, to use a heart emoji, something I’ll never get away with in a professional report!