OLAP 큐브에서 특성이 필터링될 때 Grand Total이 잘못되었습니다.
판매원당 판매 금액을 확인하려는 사용자.샘플 데이터:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 2250
괜찮아 보이지만 우리는 다음과 같은 계층을 가지고 있습니다.Company > Class > Group > Subgroup
사용자가 필터에서 이 계층을 사용하려고 할 경우 - Grand Total이 실패합니다(이 계층에서 속성이 선택되지 않은 경우).샘플:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 350
이전에 Date 속성을 필터링하려고 했을 때 동일한 문제를 발견한 적이 있습니다. 매월 매일 선택하지 않으면 Grand Total도 잘못 표시됩니다.
왜 이런 일이 일어나고 어떻게 고쳐야 하는지 알고 있습니까?
판매 금액은 물리적 측정값(계산된 측정값이 아님)으로 SQL 보기에서 선택합니다(모든 사실에 동일함).
여기서도 똑같은 질문을 했는데 아무도 답을 못 했어요.
모든 MDX 계산(범위)을 삭제하려고 했지만 여전히 Grand Total이 틀렸습니다.
편집
그런 식으로 필터링할 때 문제가 발생한다는 것을 알게 되었습니다.
위의 이미지와 같이 계층의 1단계에서 선택된 1개의 요소, 2단계에서 선택된 1개의 요소, 3단계에서 선택된 1개의 요소.
세 번째 레벨이 필터링되지 않으면 Grand Total이 잘 됩니다.
EDIT 2
SSAS에서 추적을 해봤는데 엑셀과 똑같은 출력을 돌려줍니다.행에서 판매원 차원을 사용할 때 다음과 같은 MDX를 생성했습니다.
SELECT NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY { ([Salesperson].[Salesperson].[Salesperson].ALLMEMBERS ) }
DIMENSION PROPERTIES MEMBER_CAPTION,
MEMBER_UNIQUE_NAME ON ROWS FROM (
SELECT ( { [Item].[Class - Group - Subgroup].[Class].&[XXX]&[1.],
[Item].[Class - Group - Subgroup].[Group].&[XXX]&[2.]&[2.2.],
[Item].[Class - Group - Subgroup].[Subgroup].&[XXX]&[2.]&[2.3.]&[2.3.1.] }
) ON COLUMNS FROM ( SELECT ( { [Company].[Company].&[XXX] } ) ON COLUMNS
FROM [Sales]))
WHERE ( [Company].[Company].&[XXX], [Item].[Class - Group - Subgroup].CurrentMember ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
판매원 차원 없이 생성된 MDX:
SELECT NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS
FROM ( SELECT ( { [Item].[Class - Group - Subgroup].[Class].&[XXX]&[1.],
[Item].[Class - Group - Subgroup].[Group].&[XXX]&[2.]&[2.2.],
[Item].[Class - Group - Subgroup].[Subgroup].&[XXX]&[2.]&[2.3.]&[2.3.1.] } ) ON COLUMNS
FROM ( SELECT ( { [Company].[Company].&[XXX] } ) ON COLUMNS
FROM [Sales])) WHERE ( [Company].[Company].&[XXX], [Item].[Class - Group - Subgroup].CurrentMember ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
행에 차원을 사용하지 않더라도(위의 샘플에서 판매원 차원을 사용했습니다) 잘못된 Grand Total이 표시됩니다.
예를 들어 다음과 같이 표시됩니다.
Sales Amount
350
행에 판매원 차원을 사용할 경우:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 350
저는 이 문제에 대해 다른 각도를 가지고 여기서 문제가 되는 것은 SQL/SSAS가 아니라 엑셀이라고 제안하고 싶습니다.하위 합계 및 전체 합계가 있는 피벗 테이블에서 합계는 큐브가 아닌 클라이언트 측 응용 프로그램으로 계산됩니다.저는 이것을 몇 번 경험한 적이 있는데 엑셀의 알려진 문제점이라고 생각합니다.이 솔루션은 일반적으로 Excel에서 계산된 필드를 새로 생성하여 전체 합계를 제공합니다.특히 Excel이 큐브에 액세스하는 다른 사용자를 위한 Go-to-클라이언트 애플리케이션이라면 이는 매우 실망스러운 일입니다.위로가 된다면, 저도 Tableau와 같은 다른 툴에서 한두 번 경험해 보았지만 솔루션이 조금 다른 이유로 경험해 보았습니다.
다음은 문제를 인정하는 Microsoft KB의 링크입니다.2003-2019 버전에 영향을 줍니다.
언급URL : https://stackoverflow.com/questions/55760416/in-olap-cube-wrong-grand-total-when-attribute-is-filtered
'programing' 카테고리의 다른 글
자바스크립트 함수를 5초마다 연속 호출 (0) | 2023.09.09 |
---|---|
도커: 도커 컨테이너에서 나노 실행 (0) | 2023.09.09 |
오류 발생: AttributeConverter를 적용하는 동안 오류가 발생했습니다. 중첩 예외는 javax.persistence입니다.지속성 예외 (0) | 2023.09.09 |
닥터 스케쥴링 데이터베이스 설계 (0) | 2023.09.09 |
느린 업데이트 쿼리 (0) | 2023.09.09 |