Here is a god start using SQL. Just insert the Customer Name in the @EntityName
variable, and the Start/End Dates:
declare @EntityType varchar(50) = 'Customers'
declare @EntityName varchar(50) = ''
declare @EntityId int = 0
declare @DateBEG datetime = '2016-01-01'
declare @DateEND datetime = '2016-04-01'
SELECT
[EntityName]
--,[Date]
--,[TicketId]
--,[TicketNumber]
,[MenuItemName]
,[PortionName]
,sum([Quantity]) as [Qty]
,[Price]
,(sum([Quantity])*[Price]) as [ItemTotal]
FROM (
SELECT
o.[Id]
,[TicketId]
,tkt.[TicketNumber]
,e.[Name] as [EntityName]
--,[MenuItemId]
,[MenuItemName]
,[PortionName]
,[Price]
,[Quantity]
,([Price] * [Quantity]) as [ItemTotal]
--,[PortionCount]
--,[CalculatePrice]
--,[DecreaseInventory]
--,[IncreaseInventory]
--,[OrderNumber]
,left(convert(varchar(30),[CreatedDateTime],126),10) as [Date]
--,[LastUpdateDateTime]
--,[PriceTag]
--,[Tag]
--,[Taxes]
--,[OrderTags]
--,[OrderStates]
FROM [Orders] o
JOIN [Tickets] tkt on tkt.[Id] = o.[TicketId]
JOIN [TicketEntities] te on te.[Ticket_Id] = tkt.[Id]
JOIN [EntityTypes] et on et.[Id] = te.[EntityTypeId] and et.[Name] = @EntityType
JOIN [Entities] e on e.[Id] = te.[EntityId]
WHERE 1=1
--and e.[Name] = @EntityName
--and e.[Id] = @EntityId
and o.[CreatedDateTime] >= @DateBEG
and o.[CreatedDateTime] < @DateEND
--ORDER BY o.[TicketId], o.[CreatedDateTime]
) allorders
GROUP BY
[EntityName]
--,[Date]
--,[TicketId]
--,[TicketNumber]
,[MenuItemName]
,[PortionName]
,[Price]
ORDER BY
[EntityName]
--, [Date]
, [Qty] desc
, [MenuItemName]