반 첨가 측정 문제 - 매월 합계 스냅 샷이지만 몇 달에 걸쳐 있지 않습니다.

StackOverflow https://stackoverflow.com/questions/1801462

  •  05-07-2019
  •  | 
  •  

문제

SQL에 능숙하지만 MDX에 익숙하지 않기 때문에이 주위에 머리를 잡는 데 어려움이 있습니다.

매월 계정 잔액의 스냅 샷이 포함 된 사실 테이블이 있습니다. 나는 반지발 측정으로 잔액을 롤업해야한다. 그러나 모든 계정의 잔액을 추가하여 매달 모든 잔액을 개별적으로 요약해야하므로 "마지막"개념도 저에게도 효과가 없습니다. 예를 들어 사실이 다음과 같이 보이는 경우 :

Date        AccountNo     Balance
2009-01-31  1111          $100
2009-01-31  2222          $100
2009-01-31  4444          $100
2009-01-31  5555          $100

2009-02-28  1111          $100
2009-02-28  2222          $200
2009-02-28  3333          $500
2009-02-28  5555          $50

etc.

또한 계정을 주요 범주 / 사소한 범주 / 계정 계층으로 그룹화하는 계정 차원이 있습니다. 모든 계정에서 매월 잔액을 요약하는 이와 같은 출력이 필요합니다.

Month        Total
January 09   $400
February 09  $850

그리고 계정 유형별로 분해되어 :

Month        Total
January 09   $400
  Type 1      $200
    1111       $100
    2222       $100
  Type 2     $200
February 09  $850
  Type 1     $300
  Type 2     $550

그러나 잔액은 몇 개월, 분기 또는 몇 년에 걸쳐 합의하지 않아야합니다. 왜냐하면 그것은 의미가없고 두 번 계산 될 것입니다. 더 이상 시간 간격은 기간의 마감을 보여 주어야합니다.

Quarter    WRONG    Correct
Q1         $1250    $850   // should be the sum of balances for the *last* month in Q1
  Type 1   $500     $300
  Type 2   $759     $550

"LastNonempty"집계를 사용하는 경우, 지난 달의 계정 잔액의 합이 아니라 한 달 동안 문자 그대로의 마지막 계정 행 만 얻는 것 같습니다. 마치 그 달의 총계가 해당 달에 존재하는 하나의 임의의 계정에서 얻은 잔액을 보여주지 않고 총계가 아닌 것처럼 보입니다. (나는 그것이 실제로 무작위가 아니라고 확신합니다. 아마도 스토리지 순서 나 무언가를 기준으로 하나를 선택하고있을 것입니다)

나는 단지 단순한 일을하고 있다고 확신합니다.

도움이 되었습니까?

해결책

나는 이것을 해결했다고 생각한다 : 잔액을 가진 나의 소스 데이터는 매우 희박했다 - 0이 아닌 잔액에 대해서만 행이 있었고, 균형이 0 일 때 계정에 대한 행이 없었다. 그로 인해 모든 것이 나사로 만들었습니다 (부품 수가있는 곳에서 재고로 상상하고 계산은 종종 0이지만 0 일 때는 팩트 테이블에서 행이 누락됩니다).

데이터 소스에서 모든 추가 행을 제로 잔액으로 "다시 추가"할 수있는 뷰를 만들 수 있었고, 그 후 ClosingPeriod () 함수는 예상대로 작동하기 시작했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top