Я довольно новичок в кодировании в SQL и использовании SSRS, поэтому я не знаю, действительно ли это должно быть исправлено в моем запросе или если есть простой ответ на стороне SSRS. У меня есть простой запрос, который я ввел в SSRS и добавил матрицу для просмотра данных. В финальной строке «Всего» я пытаюсь добавить некоторые дополнительные суммы, такие как процент, основанный на данных в определенном столбце. Вот мой запрос:Как получить процент в матрице SSRS
SELECT
ADV.Account
ADV.City
ADV.LocationID
NUR.QueryID
NUR.Response
FROM ADV.Visits ADV
LEFT JOIN NUR.Responses NUR ON (NUR.VisitID = ADV.VisitID AND
NUR.SourceID = ADV.SourceID)
WHERE NUR.QueryID = '1' AND
NUR.DateTime BETWEEN "x" AND "y" AND
ADV.LocationID IN ('1stFloor', '2ndFloor', 'ICU')
Вот пример моих ответов
AccountNumber City LocationID QueryID Response
12345 JAMESTOWN ICU 1 Y
13254 JAMESTOWN ICU 1 N
13584 SIMCITY 1stFloor 1 Y
18789 JAMESTOWN 1stFloor 1 N
45678 JAMESTOWN 1stFloor 1 Y
56789 CITYSCAPE 1stFloor 1 Y
48971 JAMESTOWN 1stFloor 1 Y
457895 CITYSCAPE 1stFloor 1 Y
Ниже то, что матрица выглядит в SSRS. У меня есть сумма, основанная на ответах Y (Да) или N (Нет), и полной сумме внизу. Теперь я хочу (в красной рамке) поставить выражение, которое даст мне процент ответов N. Я пробовал это несколько десятков способов, включая добавление отдельной таблицы для выполнения выражения, добавление двух разных наборов данных, один ключ по ответам Y и один на N и помещение их в отдельные матрицы, а затем попытки выполнить арифметику в третьей таблицы, ссылаясь либо на ReportItems! TextBox.Value, либо на собственные значения, но я продолжаю получать множество ошибок.
Как я изначально говорил, я не знаю, если это мой запрос, который нуждается в редактировании, выражение SSRS, что я просто не могу получить правильный, или оба. Но ЛЮБАЯ помощь была бы оценена! Я использую SQLServer2008 (запись из Microsoft SQL Server Management Studio) и ReportBuilder3.0.
Помните, где я новичок? :-) Я смог вычислить поле (которое я творчески назвал «CalculatedField» и установил значение в качестве выражения, которое вы дали, но в этот момент я довольно потерян. – mslhrt
Значение будет фактически полем в вашем наборе данных. Таким образом, для каждой записи в вашем datset выражение будет оцениваться. Оттуда вы используете вычисляемое поле, как и другие поля, вы делаете агрегированные вычисления, такие как сумма, счет, макс и мин. Вероятно, вам нужно разместить выражение, которое использует ваши calc field SUMMED, деленное на COUNT записей в вашем наборе данных. SUM (Поле! Значение, «DatasetName») будет применяться там, где SUM if для всех значений в вашем наборе данных DataSetName. –
Спасибо, мне потребовалось немного времени работайте, но теперь это имеет смысл, и это сработало! Как я никогда не сталкивался с Расчетными полями? Они определенно будут моим спасителем с этого момента. Теперь, когда он щелкнул в моем мозгу, ваш оригинальный ответ прекрасен. Еще раз спасибо! – mslhrt