Introduction
For this workout, we are visualizing data in a scatterplot in a bit of a non-traditional manner. This week marks 26 years since Ella Fitzgerald, the “Queen of Jazz”, passed away. So we are visualizing melodies to a few of her songs. My approach is a bit abstract – not quite sheet music but using the same musical scale.
There are two main challenges in this workout:
- Turn notes/pitches into a quantitative scale that can be visualized in a scatterplot
- Visualize notes in order with spacing that represents note length in a scatterplot using a custom (image or text) marker.
I used a Deneb visual for the scatterplot (yes, I know… another Deneb visual – but Deneb is just so useful and flexible!). But you could use another custom visual if you prefer to stay low-code.
Requirements
- Import all three tables from the dataset in data.world.
- Add a column to the Notes Mapping table that turns the notes into numerical values. (I made middle C = 0 and moved in .5 increments out from there. But you can do this however you’d like).
- Add a slicer or other visual that allows users to switch between the three songs.
- Visualize the notes in a scatterplot.
- The index column from Music Notes can be used on the x-axis.
- The field you create to represents the notes as numbers should be used on the y-axis.
- Use a text character or image as the marker (I used unicode characters U+266A and U+1D13E, but you can use whatever you’d like as long as it’s not a basic shape available in your scatterplot visual of choice.)
- Bonus: Add bookmarks and buttons to make it a guessing game where the song name is only revealed when the user takes an action to reveal it.
Dataset
This challenge uses data provided on data.world specifically for this exercise. You can use the data.world connector in Power BI (recommended) or download the Excel file to your local machine. You will need to log in to data.world to retrieve the data, but accounts are free.
There are three tables in the data:
- Music Notes contains the pitch and note length for the notes in each song. A length of 1 is equal to an eighth note. The Index column organizes the notes in the appropriate order, skipping numbers to account for note length.
- Note Mapping contains a distinct list of notes with their relative position to Middle C.
- Song Selection provides a lookup table for users of your report to choose the song they want to guess. The Song ID values match the Song ID values in Music Notes.
In the Music Notes table, every pitch is denoted as a natural or a flat (no sharps – they were rewritten as flats to make visualization easier).
In the Note Mapping table, the difference in pitch between each row and the one below it is a half-step. Keep this in mind as you visualize the notes! If you are not a musician (or have forgotten your major scales), you can learn about the distance between notes in a major scale. Specifically, be aware that B to C is a half step while C to D is a whole step. E to F is also a half step. This is where that Note Mapping table comes in handy.
Share
After you finish your workout, share on Twitter using the hashtags #WOW2022 and #PowerBI, and tag @JSBaucke, @MMarie, @shan_gsd, @KerryKolosko, and @NerdyWithData. Also make sure to fill out the Submission Tracker so that we can count you as a participant this week in order to track our participation throughout the year.
Solution
Resources for getting started with Deneb:
Pingback: Generating Unicode Characters in Power Query – Denny Cherry & Associates Consulting