2016-12-07 9 views
0

판매 가격 및 구매 가격과 같은 가격 속성이 다른 SSAS Cube (SSAS 2016)의 제품 차원이 있습니다. 데이터 소스는 각 가격 열이 숫자 (28,12)로 정의 된 MS SQL 테이블입니다. 이러한 열을 통화로 형식을 지정하기 위해 다른 승인을 시도했지만 실패했습니다. 측정 값 그룹에서는 통화 형식이 잘 작동하지만 제품 차원에서는 제대로 작동하지 않습니다. 브라우저는 항상 "0,32"대신 ".320000000000"과 같은 값을 표시합니다. 도움을 주시기 바랍니다.제품의 SSAS 크기가 잘못된 가격 형식을 표시합니다.

답변

2

차원 디자이너의 형식 옵션은 적어도 엑셀 및 SSRS에 의해 무시됩니다.

해결 방법으로 차원에 원하는 패턴에 따라 서식이 지정된 string/nvarchar 특성을 추가하십시오. Datawarehouse 차원 테이블의 속성을 명시하거나 뷰를 사용하여 특성을 생성 할 수 있습니다.

추가 : 당신은 TSQL format 기능을 사용할 수 있습니다 귀하의 문자열을 포맷하려면 다음 예에서와 같이 (SQL 서버 2012에서 지원) :

NVARCHAR 결과는 다음과 같습니다
SELECT FORMAT(qry.col, 'N2') AS convertedString FROM (
    SELECT CONVERT(numeric(28,12), .320000000000) AS col 
    UNION ALL 
    SELECT CONVERT(numeric(28,12), 1.1) AS col 
    UNION ALL 
    SELECT CONVERT(numeric(28,12), 100) AS col 
    UNION ALL 
    SELECT CONVERT(numeric(28,12), 1000) AS col 
) AS qry 

:

0.32 
1.10 
100.00 
1,000.00 
+0

dsv에 열을 추가하고 문자열 형식으로 지정 하시겠습니까? dsv에서 새 명명 된 계산을 시도하고 과 같은 돈으로 캐스팅했습니다 (Sales (SalesPrice as money)). Visual Studio Browser에서도 작동하지 않습니다. 모든 형식이 측정 값 그룹에서 정상적으로 작동하지만 차원 수준에서는 정상적으로 작동하지 않습니다. – knic7

+0

dsv 열의 두 번째 대답에서 nvarchar로 캐스팅하거나 세 번째로 형식 함수를 사용하고 SQL에서 결과를 확인하거나 데이터 원본 뷰의 데이터 찾아보기 기능을 사용하여 식을 시도하십시오. http://stackoverflow.com/ 질문/5572169/convert-decimal-to-varchar-in-t-sql –

+0

FORMAT이 마침내 트릭을 수행했는데 어쩌면 더 나은 방법이 있을지 모르겠지만이 방법이 더 좋을지 모르겠다. FORMAT (SalesPrice, 'N', 'de-de ')을 SalesPrice로 사용하면 이 나에게 필요한 결과를 보여줍니다. – knic7

-1

차원 디자이너에서 형식을 설정할 수 있습니다. 이 부동산은 출처 그룹 NameColumn 아래에 있습니다.

SSAS Properties

+0

형식을 Currency로 설정하고 NameColumn에서 #. ## 0,00; -. ## 0,00을 설정하려고했으나 KeyColumn에서도 작동하지 않습니다. 뭔가 다른 것을 놓칠 것 같아 – knic7

+0

아마도 그렇지 않을 수도 있습니다. SSAS (Excel 등)에 연결하는 클라이언트는 모든 속성을 구현하지 않아도됩니다. 나는 참조 할 수있는 문서를 찾고 있었지만 공백을 그었다. SSAS가 .32 값을 보내고 클라이언트가 형식 필드를 검사/사용하지 않으면 강제로 방법이 없습니다. 대안으로 SSAS에 형식화 된 문자열로 데이터를 표시하는 것입니다. (필자도 알고 있습니다. 그러나 희미한 테이블의 경우 이것이 합계가 아닌 참조 데이터입니다.) –

+0

이것이 도움이되는지 모르겠지만 전체 프로세스를 수행 한 직후 Visual Studio 2015를 통해 치수를 탐색하고 있습니다. – knic7