2014-10-16 2 views
0

두 개의 데이터베이스에서 데이터를 가져 오는 보고서를 작성하는 데 ssrs를 사용하고 있습니다. 자, 두 데이터베이스의 테이블에서, 내가 합병 진술을 사용하여 병합 한 영역을 지정하는 열이 있습니다. 이 열에서 한 데이터베이스 테이블에서 영역 중 하나의 값은 "북미"로 정의되고 다른 하나는 "북미"로 정의됩니다. 그들은 기술적으로 다른 이름을 가지고 있기 때문에 보고서에이 데이터 필드를 사용할 때 두 개의 다른 값으로 표시됩니다. 내가 스위치 기능을 사용하여 병합하기를 바란다면 그 중 하나의 이름을 바꿀 수 있다고 생각했지만 데이터 값의 이름 바꾸기와 데이터 병합에 성공하지 못했습니다. 자세한 내용은이 영역을 막 대형 차트에 표시하고 있습니다.두 개의 데이터 값을 ssrs에서 하나로 병합

영역 필드의 두 데이터 값을 하나의 데이터 값으로 병합 할 수있는 방법이 있습니까? 미리 감사드립니다! 패턴이 하이픈으로 대체 단지 공간의 경우

답변

1

, 당신과 같이 REPLACE을 사용할 수

SELECT Region 
FROM MyTable 
UNION ALL 
SELECT REPLACE(Region, '-', ' ') AS Region 
FROM OtherDatabase.dbo.OtherTable 

그렇지 않으면 당신은 당신이 필요로 할 때 당신이 지역의 이름을 대체하는 데 사용하는 조회 테이블을 만들 수 있습니다. 필드 LookupValueReplaceValue이있는 RegionLookup 테이블을 호출 해 봅시다.

LookupValue ReplaceValue 
North-America North America 

이제 SQL은 다음과 같습니다 : 당신이 필요로하는 지역을지도 할 수있는 테이블의 항목과 같이, 교체 할 수 있도록

SELECT Region 
FROM MyTable 
UNION ALL 
SELECT CASE WHEN RegionLookup.ReplaceValue IS NOT NULL THEN RegionLookup.ReplaceValue ELSE OtherTable.Region END AS Region 
FROM OtherDatabase.dbo.OtherTable 
LEFT OUTER JOIN OtherDatabase.dbo.RegionLookup ON OtherTable.Region = RegionLookup.LookupValue 

'RegionLookup의 항목이있다 `테이블을 대체 값으로 대체합니다 (첫 번째 테이블과 동일해야 함). 그렇지 않으면 원래 영역을 사용합니다. 이제는 테이블간에 다르게 철자 된 영역을 매핑하면 좋을 것입니다.

관련 문제