2013-11-12 2 views
1

У меня есть отчет SSRS со следующим tablix6:SSRS - Выражение для расчета процента на основе области данных табликса

Account Types 
---------------------------------------------- 
Code Description    Total % 
----------------------------------------------- 
A  Status Code: None  46549 
C  Status Code: Close  12956 
L  Status Code: Deceased 477 

Набор данных, который заполнит этот Tablix фильтрует данные по (п = 4 и DataType = 4) , Это, по сути, при попытке рассчитать сумму Total, я получаю неправильное значение.

Я пытаюсь получить полную сумму 59982.

мне нужна сумма в общем сложности только в этом табликс фильтруется области данных для того, чтобы вычислить процент по каждой позиции.

При этом конечном результате я пытаюсь достичь:

Account Types 
---------------------------------------------- 
Code Description    Total % 
----------------------------------------------- 
A  Status Code: None  46549 77% 
C  Status Code: Close  12956 21% 
L  Status Code: Deceased 477  0.7% 

Примечания: это Tablix фильтрует набор данных для отображения только выбранных элементов.

+1

У вас есть оператор SQL, с которым мы можем работать? – Linger

ответ

0

Если вы можете использовать запрос, который был использован для создания первой таблицы вы имеете в вашем вопросе, то вы можете использовать что-то вроде следующего, чтобы получить процент:

SELECT M.Code, M.Description, M.Total, 
    M.Total/
    (
    SELECT SUM(S.Total) 
    FROM AcountSummary AS S 
) * 100 AS PercentageOf 
FROM AcountSummary AS M 
3

я бы использовать выражение что-то вместе линии

=sum(Fields!Total.Value)/sum(Fields!Total.Value, "DataSetName") 

предполагающие фильтр работает в качестве параметра для набора данных

0

Вы можете использовать функцию OVER.

SELECT Code, Description, Total, CAST(Total AS FLOAT)/SUM(Total) OVER() [Percentage] 
FROM AccountType 

Добавьте к этому источнику данных, после этого вы можете форматировать Textbox использовать формат P2 для Процента с 2 знаками после запятой.

Надеюсь, это поможет

Смежные вопросы