고든이 다루지 않은 NULL을 사용하지 않는 또 다른 이유는 NULL이 무엇을 의미하는지 명확하지 않습니다.
때때로 ETL 또는 소스 시스템에서 문제가 발생하여 NULL로 연결되기 때문에 데이터 마트 또는 데이터웨어 하우스에 NULL이 있습니다. 그 열은 특정 행에 적용되지 않기 때문에 다른 시간은 NULL이됩니다. 또는 누적 된 스냅 샷 테이블과 같은 경우에는보고중인 프로세스가 아직 해당 열이 채워지는 지점에 도달하지 않았으므로 해당 열이 아직 채워지지 않았으므로.
하나의 기본값이 아닌 여러개를 설정하고 싶습니다. 예를 들어 누락 된 값에 사용할 수있는 "알 수 없음"을 나타내는 행과 값이 적용되지 않는 경우에 "해당 없음"을 나타내는 행을 갖도록 모든 차원을 설정할 수 있습니다. 나는 모든 테이블에서이 행에 대해 동일한 키를 사용할 수 있으므로 키에 대해 음수 (-1은 알 수 없음, -2는 N/A 등)로 설정하는 경향이 있습니다. 그러나 Kimball과 Gordon이 말했듯이 실제로는 차원에서 행을 만들어야합니다.
이렇게하면 데이터 품질 검사를 실행하여 문제가 발생한 경우를 쉽게 찾을 수 있습니다. 모든보고 또는 분석 도구에 의미있는 값을 표시 할 수 있으므로 원할 경우 완전히 채워지지 않은 행을 필터링하여 데이터 관리자가 해당 도구를 통해 문제가있는 데이터를 찾을 수 있습니다. 또는 사람들이 차원 중 하나가 적용되지 않는 행을 구체적으로 찾고 싶을 수도 있습니다.
데이터가 "잘못된"순서로로드되는 경우 (즉, 팩트 테이블이 채워지지만 관련 차원 멤버가 아직 차원을 추가하지 않은 경우)이 옵션을 사용하여 행을 확인합니다 ETL에서 업데이트가 필요하고 문제가 해결되는 것을 자동화하며, 업데이트가 필요하지 않은 행을 반복적으로 업데이트하지 않고도 항상 NULL을 갖기 때문에 그들은 그 널 (NULL) 또는 -1s이 문제가 있음을 나타냅니다 여부 unpicking 많은 시간을 낭비 할 필요가 없을 때
그리고 다른 사람이 데이터 마트의 지원을 통해 소요되는 선을
, 그들은 정말 감사 할 것입니다.
의견에 동의합니다. 우리는 NULL의 경우 -1을 사용할 것입니다. –