Я построил отчет о продажах, который показывает продавца, клиента, а затем показывает продажи в прошлом году, продажи в этом году, ожидаемые продажи в этом году, потерянные продажи в этом году, а затем колонку на конец называется «В игре». Формула In Play должна быть в прошлом году - SUM (продажи в этом году, ожидаемые в этом году, в этом году потеряны). Если результат формулы меньше 0, я хочу, чтобы он показывал 0.Итого для предыдущих строк в построителе отчетов 3.0
На уровне клиента я могу заставить его работать со следующим: = Iif (SUM (Fields! InPlay.Value) < 0, 0, SUM (Fields! InPlay.Value)). Я создал вычисляемое поле, чтобы придумать InPlay со следующим: = Поля! LastSeasonRevenue.Value-Fields! CurrentSeasonContractedRevenue.Value-Fields! CurrentSeasonPendingRevenue.Value-Fields! CurrentSeasonLostBusiness.Value.
Моя борьба наступает, когда я пытаюсь поместить это в общую строку для продавца или даже в общую сумму. Мои данные структурированы таким образом, что для каждого контракта они имеют несколько строк, и поэтому вычисляемое поле, очевидно, вычисляется по строке за строкой. Кажется, это работает нормально, когда я суммирую все для клиентского уровня в столбце «В игре», но не буду работать для итогов. Часть этого происходит из-за формулы Iif, которую я имею, но я не могу найти лучшего способа сделать это.
Я пробовал различные методы, чтобы суммировать его продавцом и итогом с #error как результатом или неправильным результатом.
Я попытался добавить изображение, но stackoverflow не позволит мне.
EDIT: Это текстовое представление моей проблемы и является одним из продавцов в моем списке.
LastYearRev, ThisYearRev, Pending, Lost, InPlay
Client1 0, 0, 4972, 0, 0
Client2 0, 16800, 0, 0, 0
Client3 4800, 0, 0, 0, 4800
Client4 6375, 0, 0, 0, 6375
Client5 26754, 0, 0, 0, 26754
Cli ent6 0, 1200, 0, 0, 0
Client7 5300, 0, 0, 0, 5300
Итоговые 43229, 18000, 4972, 0, 43229
В столбце InPlay и общую строку я хотите, чтобы отчет показывал 43,229, но способ, которым будет работать эта формула для этой строки, составит 20 257.
Это должно дать вам данные, которые я работаю с: CREATE TABLE #SampleData ([Salesman] Varchar(255), Season varchar(255), Company varchar(255), Client varchar(255), ContractNo int, LastSeasonRevenue Decimal, CurrentSeasonNewContractedRevenue Decimal, CurrentSeasonContractedRevenue Decimal, CurrentSeasonPendingRevenue Decimal, CurrentSeasonLostBusiness Decimal, BusinessClosedLastWeek Decimal) ; INSERT INTO #SampleData (Salesman,Season,Company,Client,ContractNO,LastSeasonRevenue,CurrentSeasonNewContractedRevenue,CurrentSeasonContractedRevenue,CurrentSeasonPendingRevenue,CurrentSeasonLostBusiness,BusinessClosedLastWeek) Values('Salesman1','2014-2015','Company5','Client6',1157,0,1200,1200,0,0,0), ('Salesman1','2014-2015','Company1','Client1',1267,0,0,0,4972,0,0), ('Salesman1','2013-2014','Company4','Client7',298,1600,0,0,0,0,0), ('Salesman1','2013-2014','Company4','Client7',298,3400,0,0,0,0,0), ('Salesman1','2013-2014','Company4','Client7',298,300,0,0,0,0,0), ('Salesman1','2013-2014','Company2','Client5',442,4653.75,0,0,0,0,0), ('Salesman1','2013-2014','Company9','Client3',491,4800,0,0,0,0,0), ('Salesman1','2013-2014','Company1','Client4',519,2975,0,0,0,0,0), ('Salesman1','2013-2014','Company1','Client4',519,680,0,0,0,0,0), ('Salesman1','2013-2014','Company1','Client5',674,22100,0,0,0,0,0), ('Salesman1','2013-2014','Company1','Client4',676,2720,0,0,0,0,0), ('Salesman1','2014-2015','Company1','Client2',868,0,16800,16800,0,0,0)
Можете ли вы отредактировать свое сообщение, чтобы включить текстовое представление таблицы и ваши результаты? Я думаю, что понимаю этот вопрос, но хочу убедиться, что это так. Кроме того, если бы вы могли предоставить данные и образцы данных, это было бы полезно. С самого начала это похоже на проблему, которая лучше решена в SQL (или MDX) в наборе данных, чем в дизайнере отчетов. – Michael
@ Micheal Я предоставил код для создания данных и текстовую версию моего отчета. – Jared