SQL 데이터베이스에 다음 표가 있습니다. 저장 프로 시저의동적 열 선택 SQL
DIM_BENCHMARK:
Fund_sk | Num_Bench | Bench | Weight | Type_Return
1 2 XXX 0.9 TR
1 2 YYY 0.1 Net
2 3 XXX 0.45 TR
2 3 YYY 0.45 TR
2 3 ZZZ 0.10 Net
FACT_Returns:
Date | Bench | TR | Net
10/10 XXX 0.010 0.005
10/10 YYY 0.012 0.008
10/10 ZZZ 0.006 0.012
원하는 출력은 :
FACT_Result:
Date | Fund_SK | Num_Bench | Bench_Returns
10/10 1 2 (eg. 0.9*TR of XXX) + (0.1*Net Return of YYY)
10/10 2 3 (eg. 0.45*TR of XXX) + (0.45*TR of YYY) + (0.10*Net of ZZZ)
테이블 위 내 입력 데이터의 포맷 내 원하는 출력을 나타낸다. 필자는 여전히 SQL에 익숙하지 않은데,이 동적 인 SQL 질의는 내 지식의 깊이를 넘어서고 있습니다.
DIM_Benchmark.Type_Return의 사양에 따라 FACT_Returns.TR 또는 .Net을 DIM_Benchmark.weight로 곱하고 싶습니다. DIM_Benchmark.Type_Return의 변수는 FACT_Returns의 열 머리글과 같습니다.
언제나처럼 어떤 도움도 대단히 감사하겠습니다!
동일한 Fund_sk 및 num_bench를 가진 행이 여러 개 있지만 벤치 열은 각 fund_sk마다 고유 할 가능성이 큽니다. – Patrick
귀하의 테이블은 DIM이며 FACT는 이것이 스타 스키마임을 암시하지만 그렇지 않습니다. 사실과 차원간에 n : n 조인을해서는 안되기 때문에이 데이터웨어 하우스가 제대로 설계되지 않았다는 것을 알아야합니다. –
귀하의 의견에 따라 ETL에 액세스 할 수 있으며 직접 테이블 형식을 변경할 수있었습니다. 의견을 보내 주셔서 감사합니다. 나는 미쳤다. ... – Patrick