2017-11-09 6 views
2

그룹화 가지고 SSRS의 테이블 릭스 데이터의 열을 사용하여 백분율 계산하는 방법 :내가 3 열이 나에게 데이터 집합을 제공하는 SQL 쿼리가

  • 계약 코드
  • 볼륨
  • 을 내가 연구에 그룹화이 데이터를 표시 할 SQL Result Set

MonthRegistered MonthRegistered에 의해 Contract_Code에 의해 OWS과 열 : Tablix layout

나는 다음 달 사이의 백분율 차이를 계산하려는

: Sample Output

내가 데이터 2 개월 가치가 오직이 경우이됩니다 - 떨어져 각 일년 . 데이터의 각 행에 대해 1 년에서 1 년 사이의 비율 차이를 표현하려고합니다.

나는이 표현했다 :

=(Fields!Volume.Value)/(Fields!Volume.Value) 

을하지만, 분명 옳지 않아 - 그리고 그것은 옳지 않다 어떻게 독립적으로 열을 해결하지입니다.

TABLIX 텍스트 상자를 백분율로 포맷 했으므로 적어도 하나는 알아 냈습니다.

이 Technet 문서에서 : Calculating Totals and Other Aggregates (Reporting Services) 상태 : You can also write your own expressions to calculate aggregate values for one scope relative to another scope. 별도의 범위를 처리하는 방법에 대한 참조를 찾을 수 없습니다.

나는 이것에 어떤 포인터를 부탁드립니다!

JPG보다는 실제 텍스트로 내 예를 게시 죄송

하지만 일부 데이터를 숨길 필요가 ...

답변

1

이 비로소 작동 당신이 이제까지 비교하는 데이터의 가치가 두 달 만이 때문이다. SQL이 MonthRegistered에 의해 이미 주문되었는지 확인해야합니다. 귀하의 질의에 주문하지 않으면 SSRS 자신의 정렬이 적용되어 첫 번째와 마지막 값을 결정합니다.

=First(Fields!Volume.Value)/Last(Fields!Volume.Value) 

SSRS에서 집계를 수행 했으므로 각 표현식을 SUM 식으로 묶어야 할 수 있습니다.
가능한 경우에만 SQL에서 집계를 수행하는 것이 좋습니다 (이 방법으로 표시하려는 경우).

+0

저는 SQL이 아닌 SSRS에 집계 된 데이터를 가지고 놀았지만 그 결과는 좋지 않습니다. 나는이 시점에서 당신의 SQL에서 이것을 수행하는 것이 좋은 계획이 될 것이라고 반복 할 것이다. – Schmocken

+0

그래서 SQL에서 데이터를 정렬했습니다. 집계는 SQL에서 주로 발생합니다 - SSRS에서 일어나는 유일한 일은 하나의 날짜 열을 2 열로 변환하는 것입니다. 어쨌든 - 이것이 올바른 답이되는 열쇠는 첫 번째/마지막 부분이었습니다. 고맙습니다! – kiltannen