2016-07-27 2 views
1

테이블에 두 개의 열을 추가하는 방법. 이 경우 올바른 표현이 무엇입니까? 두 개의 데이터 집합 (Extra Deduction, Checklist)이 있음을 알리십시오.이 두 데이터 집합에는 숫자 열 값이 있으며이 두 열을 다른 데이터 집합으로 추가하는 방법을 설명합니다. (이 도움이 될 수 있습니다) 내가 한다른 데이터 집합 (SSRS)에 두 개의 열을 추가하는 방법

다음 단계 : -

  • Visual Studio를 엽니 다 - 새 프로젝트 - 비즈니스 인텔리전스 섹션에서 내가보고 서비스를 선택했다.
  • 보고서 폴더를 마우스 오른쪽 단추로 클릭 한 다음 "새 보고서 추가"를 선택했습니다.
  • 그런 다음 보고서 마법사에서 데이터 원본 이름 "DataSource1"을 설정하고 "Microsoft Dynamics CRM 가져 오기"연결 유형을 선택했습니다.
  • 쿼리 작성기에서 XML 쿼리에 원하는 데이터를 가져 오도록 두 개의 열 (참조 번호, 추론 값)이 포함되어 있고 데이터 집합 이름은 (DedctionDS)입니다.
  • 그런 다음 표에 하나 이상의 열을 추가하여 다른 데이터 집합의 다른 값을 가져 왔습니다.
  • 그런 다음 두 개의 열 (참조 번호, 검사 목록 값)을 가져 오기 위해 XML 쿼리로 (ChkListDS)라는 두 번째 데이터 집합을 만들었습니다.
  • 표의 새 열에서 다른 데이터 집합의 값을 가져 오는 표현식을 만들었습니다. 식은 (= Lookup (Fields! DedctionRefNo.Value, Fields! ChkListRefNo.Value, Fields! ChecklistValue.Value, "ChkListDS")).

지금까지는 데이터가 완벽했지만 지금은 다른 데이터 세트에있는 (공제 값)과 (체크리스트 값)을 합산해야합니다.

나는 무엇을하려고하는지 아래 그림을 참조하십시오.

1

은 내가 아주 잘 설명 바랍니다.

이와 관련하여 도움을 주시면 감사하겠습니다. 가 있다면

덕분에 ..

+0

정말 자세히 설명해야합니다. 우선 당신이 이야기하고있는 개념 (데이터 세트)이 어떻게 상호 연결되어 있는지 설명하십시오. 그리고 이것이 이것이 tem의 진짜 이름인지 확인하십시오. 또 다른 아이디어는 질문에 그림을 삽입하는 것입니다. 그런 일에 대한 링크를 제공하지 마십시오. – OzrenTkalcecKrznaric

+0

Mr. OzrenTkalcecKrznaric, Visual Studio 2012를 사용하여 SSRS 보고서 (비즈니스 인텔리전스)를 만들고 프로젝트에 2 개의 데이터 세트를 만든 다음 그림에서 본 것처럼 데이터를 볼 테이블을 삽입합니다. 서로 다른 데이터 세트에서 열 1을 열 2에 추가하는 식을 알고 있어야합니다. 나는 네가 알아야 할 것을 잘 설명했으면 좋겠다. 그리고 나는 너의 생각을 알아 냈어. 감사합니다 ... –

+0

다시 한 번 시도해 보겠습니다 : 당신이 한 일을 정확하게 설명해야합니다. 보고서 추가를 건너 뛰었습니다 (어떻게 했습니까?). 또 다른 사실은 정확히 어떻게 테이블을 데이터 소스에 연결 했습니까? 설명했다면 적어도 부분적으로 질문에 답할 것입니다 : 테이블에 대해 하나의 데이터 세트 만있을 수 있습니다. 그리고 마침내, 자신의 질문을 향상시키기 위해서 - 그것을 편집하고, 주석을 덧붙이 지 마십시오. – OzrenTkalcecKrznaric

답변

1

동일한 데이터 소스 (바람직 SQL 서버), I는 SQL을 사용하기를 권합니다 하나 개의 데이터 집합을 만들 가입 할 수 있습니다. 그러나 문제가있어 다른 전략을 사용해야합니다.

다른 프로젝트 (내 코드 아님)에서 보았던 것은 하나의 데이터 소스를 주 데이터 소스로 사용할 수 있으며 해당 데이터 소스의 각 행마다 다른 데이터 소스와 일치하는 행을 찾습니다. SSRS에서 Lookup() 함수가 필요하며 두 데이터 집합을 상관시키는 방법이 분명합니다.

지금해야 할 일은 조회 기능을 사용하여받은 값에서 번호를 가져 와서 원하는 열에 추가하는 것입니다.

귀하의 시작 표현은 다음과 같습니다

= Lookup(
    Fields!DedctionRefNo.Value, 
    Fields!ChkListRefNo.Value, 
    Fields!ChecklistValue.Value, 
    "ChkListDS") 

는 소수점 표현 (I가 당신이 소스로 데이터베이스에 무슨 희망)로 변환하려면 CDEC 필요() 함수 :

= CDec(Lookup(
    Fields!DedctionRefNo.Value, 
    Fields!ChkListRefNo.Value, 
    Fields!ChecklistValue.Value, 
    "ChkListDS")) 

= CDec(Lookup(
    Fields!DedctionRefNo.Value, 
    Fields!ChkListRefNo.Value, 
    Fields!ChecklistValue.Value, 
    "ChkListDS")) 
    + Fields!{Your-deduction-value-field-name} 

그리고 당신의-공제 경우 :

그리고 마침내, 당신처럼, 당신의 첫번째 값을 추가 할 데이터베이스의 -value-field는 십진수가 아니므로 같은 CDec() 함수를 사용하여 10 진수로 캐스팅해야합니다.

+0

고마워,하지만 난 # 오류있어 : ** 경고 1 [rsRuntimeErrorInExpression] Textrun 'Textbox38.Paragraphs [0] .TextRuns [0]'에 대한 값 표현식에 오류가 있습니다. 문자열 "ر.س . 24,500.00 "을 입력하면 'Decimal'을 입력 할 수 없습니다. **"ر.س. " "SAR"은 통화를 의미합니다. 감사합니다 –

+0

Mr. OzrenTkalcecKrznaric, 당신의 대답은 완벽합니다. 나는 MS CRM 온라인을 사용하고 있기 때문에 데이타베이스에 직접 연결할 수 없습니다. 통화 포맷 때문에 에러라고 생각합니다. 나는 그것을 해결하기위한 해결책을 찾으려고 노력할 것이다. 어쨌든 고마워요. 고맙습니다. –

+0

일반적인 산술 연산을 사용하여 조작 할 수있는 원래 숫자 데이터를 수신하는 대신 표시 형식으로 데이터를 수신하는 것이 문제입니다. 포맷 된 데이터 대신 숫자로 된 데이터를 얻을 수 있다면 어떻게 작동할까요? 이렇게하면 먼저 문자열을 구문 분석 한 다음이를 숫자로 변환 한 다음 추가를 수행해야합니다. 그리고 이것은 실제로 그것을하는 추악한 방법이지만, 그것은 유일한 선택 일 수 있습니다. – OzrenTkalcecKrznaric

관련 문제