Take a look at summary reports with sub summary layout parts. Say you want one row of data for each shift with sub total values for each column of data shown in your example. You can set up your layout with a sub summary layout part "when sorted by" shift. If you do not want to show the individual records, only the sub totals, you remove the body layout part from your layout.
If you want a total for each product for each shift the method is the same, but you'll need two sub summary parts--one to group records by Product and one to group the records for a given product by shift.
If you place a summary field inside a sub summary layout part, you'll get a sub total based on the group of records represented by that sub summary part.