Excel, SSRS에서 텍스트로 출력된 번호 필드
내 SSRS 보고서에서 필드 중 하나가 이 식을 사용하고 있으며, 여기서 필드는 숫자 필드입니다.값이 다음과 같은 경우 공백 필드를 표시합니다.0
.
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value ,"")
Excel 내보내기 버전은 이 필드를 번호가 아닌 텍스트로 간주합니다.
SSRS 쪽에서 다른 방법이 있습니까?
제가 이런 문제가 있었습니다.일부 셀은 텍스트이고 다른 셀은 숫자이며 모두 동일한 형식 문자열입니다.분해능은 셀 표현식에 1.000을 곱하는 것입니다(1이 작동하지 않음!). 이는 SSRS가 셀을 숫자로 포맷하도록 강제합니다.예; (여기 당신의 표정) * 1,000
Excel은 필드가 0일 때마다 빈 문자열을 출력하기 때문에 이 필드를 텍스트로 인식합니다.
빈 문자열 대신 null 값을 출력하려면 다음과 같이 시도할 수 있습니다.
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value, Nothing)
그러나 Excel은 필드가 첫 번째 데이터 행에 있는 것과 같은 유형이라고 가정하는 것을 기억하고 있기 때문에 이것이 작동하는 것은 보장되지 않습니다.
엑셀 수출에서 이 문제가 발생하여 정수는 CLng, 소수점은 CDbl 기능으로 해결하였습니다.
= CLNG(필드!Qty.Value)
그러면 Excel 셀이 숫자로 표시되고 필드보다 깨끗해집니다!Qty.값 * 1.000
문제는 IIF 문이 빈 문자열 ""로 끝난다는 것입니다.이 값을 0으로 변경하면 예상대로 작동합니다.
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value, 0)
대신에...
=IIf(Fields!PERIOD02_VALUE.Value <> 0,Fields!PERIOD02_VALUE.Value, "")
다음은 3가지 다른 결함에 대한 3가지 솔루션입니다.
값 1
1234
빈 칸
1234
솔루션2
=IIF(IsNumeric(Fields!TEST.Value.ToString()), CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()), Fields!TEST.Value.ToString(), "0")), " ")
값2
1234
Null
345
귀무의
솔루션2
=IIF(IsNumeric(Fields!TEST.Value.ToString()), CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()), Fields!TEST.Value.ToString(), "0")), "NULL")
값 3
1234
Null
345
해당 없음
550
TBA
440
599
해당 없음
솔루션3
=IIF(IsNumeric(Fields!TEST.Value.ToString()), CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()), Fields!TEST.Value.ToString(), "0")), Fields!TEST.Value.ToString()),
언급URL : https://stackoverflow.com/questions/643854/number-field-turned-out-as-text-in-excel-ssrs
'programing' 카테고리의 다른 글
마리아드비 기둥 매장의 최대 한도는 어떻게 됩니까? (0) | 2023.10.14 |
---|---|
Git에서 커밋하기 전에 스테이지를 원하는 이유는 무엇입니까? (0) | 2023.10.14 |
md-select는 선택한 값을 설정할 수 없습니다. (0) | 2023.10.14 |
AngularJS 오류:오류 유형: v2.login이 함수가 아닙니다. (0) | 2023.10.14 |
트위터 부트스트랩 경고가 사라지거나 사라지거나 둘 다 사라질 수도 있습니까? (0) | 2023.10.09 |