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.
storeLocationproperty from the Fields section of the Chart Builder view to the X Axis encoding channel. This tells MongoDB Charts to create a column for each
storeLocationvalue in the dataset.
In the Fields section click the
itemsfield to expand the
itemsobject and view its properties.
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
saleDatefield 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.
items.pricefield to the Y Axis encoding channel. The Y Axis encoding channel determines which field to use for the chart's 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.pricefield here and will use an aggregation operator which will allow us to add the
In the Array Reductions dropdown, select 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.
This option adds the prices of all items per store together to display the chart. For more information on the
$sumaggregation 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
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.