Column Chart Showing Total Sales by Store Location
Time to Complete: 5 minutes
Looking at the data fields available in the schema, some of the most valuable information you can relay revolves around revenue. You may want to know how various stores are performing, specifically if there are any stores significantly under or overperforming compared to others.
A column chart works well for this type of visualization because you can easily compare individual store revenue based on the size of each column.
Construct the Chart
Add the desired fields to the proper encoding channels.
Drag the
storeLocation
property from the Fields section of the Chart Builder view to the X Axis encoding channel. This tells MongoDB Charts to create a column for eachstoreLocation
value in the dataset.In the Fields section click the
items
field to expand theitems
object and view its properties.Note
MongoDB Charts infers the data type of each field and provides symbols to easily determine these data types when building your chart. For example, the calendar icon next to the
saleDate
field signifies that this field is a timestamp. These symbols can help ensure your chart renders as expected by using proper data types for each encoding channel.Drag the
items.price
field to the Y Axis encoding channel. The Y Axis encoding channel determines which field to use for the chart's aggregation.Example
Aggregation
Aggregation processes data records using a wide variety of methods and returns computed results which may not be available in the original dataset. Because we are interested in the total revenue from each store, we use the
items.price
field here and will use an aggregation operator which will allow us to add theitems.price
fields together.In the Array Reductions dropdown, select Unwind array.
Example
Unwind array
Array reductions dictate how to process an array so its elements can be visualized. The unwind array option creates a new document for each element in the array, so each item's price is added to the total for that store.
For more information on unwinding arrays, refer to the unwind aggregation documentation.
In the Aggregate dropdown, select sum.
Example
Sum
This option adds the prices of all items per store together to display the chart. For more information on the
$sum
aggregation command, refer to the sum aggregation documentation.
Your chart should now look something like this:

Notice that the stores generating the most revenue are the
Denver
and Seattle
locations.
Next Steps
Now that we have a visualization showing a high-level overview of store revenue, one might wonder which type of item each store is selling the most of. The following section of the tutorial illustrates how to build a donut chart to analyze the tag names of items being sold.