IBM Cognos 8에서 메타 데이터를 쿼리하여 모든 보고서 및 열 이름을 찾고 싶습니다. 가능하면 열 정의를 포함하고 싶습니다.Cognos 8 모든 보고서 및 열 이름을 찾기위한 쿼리
Cognos 보고서를 사용하여이 작업을 수행 할 수 있습니까? 아니면 일부 저장소를 쿼리해야합니까?
감사합니다.
다음과 같은 쿼리 컨텐츠 저장소에서 보고서 목록을 선택할 수 있습니다IBM Cognos 8에서 메타 데이터를 쿼리하여 모든 보고서 및 열 이름을 찾고 싶습니다. 가능하면 열 정의를 포함하고 싶습니다.Cognos 8 모든 보고서 및 열 이름을 찾기위한 쿼리
Cognos 보고서를 사용하여이 작업을 수행 할 수 있습니까? 아니면 일부 저장소를 쿼리해야합니까?
감사합니다.
다음과 같은 쿼리 컨텐츠 저장소에서 보고서 목록을 선택할 수 있습니다:
SELECT CMOBJNAMES_BASE.NAME AS ObjName, CMOBJECTS.PCMID, CMCLASSES.NAME AS ClassName, CMOBJPROPS7.spec
FROM CMOBJECTS
JOIN CMOBJNAMES_BASE ON CMOBJECTS.CMID = CMOBJNAMES_BASE.CMID
JOIN CMCLASSES ON CMOBJECTS.CLASSID = CMCLASSES.CLASSID
LEFT JOIN CMOBJPROPS7 ON CMOBJECTS.CMID = CMOBJPROPS7.CMID
WHERE CMOBJECTS.CLASSID IN (10, 37)
ORDER BY CMOBJECTS.PCMID;
내가 COGNOS 10에 나는없이 Cognos 8에서의 CMOBJNAMES_BASE 테이블이 실제로 'CMOBJNAMES'라는 이름 믿고 사용을 _베이스.
보고서 메타 데이터는 CMOBJPROPS7의 'SPEC'열에 XML로 저장됩니다. 이 XML을 구문 분석하여 보고서에 사용 된 열을 제거 할 수 있습니다. 그것은 간단한 작업이 아닙니다.
시간이 있지만 돈이 없다면 자신의 코드를 작성하여 해당 XML을 구문 분석 할 수 있습니다. 시간보다 돈이 많다면 Motio 나 BSP Metamanager와 같은 타사 프로그램을 사면됩니다.
위의 쿼리는 열의 클린 목록을 작성하는 데는 덜 유용하지만 특정 데이터 항목을 검색하는 데는 적합하지 않습니다. 예를 들어 데이터 소스에서 변경하려는 열이 있지만 해당 열을 사용하는 보고서가 확실하지 않은 경우 위의 쿼리를 실행하고 데이터 항목을 검색하십시오. Cognos MDX 형식의 XML 내에 포함됩니다. [프레젠테이션보기]. [판매 요약]. [판매]
편집 : 아래 요청한대로 여기에 폴더 경로가 포함 된 쿼리가 있습니다.
-- List of Reports, the folder they are in, and the package they are using
select distinct temp2.name as package,temp1.folder,temp1.name from
(SELECT temp.PARENTNAME AS FOLDER,CMOBJECTS.PCMID,CMOBJNAMES.CMID, CMOBJNAMES.LOCALEID, CMOBJNAMES.MAPDLOCALEID, CMOBJNAMES.ISDEFAULT, CMOBJNAMES.NAME,
CMOBJECTS.CLASSID
FROM CMOBJNAMES INNER JOIN
CMOBJECTS ON CMOBJNAMES.CMID = CMOBJECTS.CMID
INNER JOIN
(SELECT P.CMID AS PARENT,P.NAME AS PARENTNAME FROM CMOBJNAMES P where P.LOCALEID between 24 and 52) temp
ON CMOBJECTS.PCMID = TEMP.PARENT
WHERE (CMOBJECTS.CLASSID = 10)
AND SUBSTR(TEMP.PARENTNAME,1,1) NOT IN ('1','2','3','4','5','6','7','8','9') AND
TEMP.PARENTNAME NOT LIKE 'Backup%') temp1
inner join
(SELECT CMREFNOORD1.CMID AS PID, CMREFNOORD1.REFCMID, CMOBJNAMES.NAME
FROM CMREFNOORD1 INNER JOIN
CMOBJECTS ON CMREFNOORD1.REFCMID = CMOBJECTS.CMID INNER JOIN
CMOBJNAMES ON CMOBJECTS.CMID = CMOBJNAMES.CMID
WHERE (CMREFNOORD1.PROPID = 31 AND CMOBJNAMES.LOCALEID between 24 and 52)) temp2
on temp1.cmid = temp2.pid and LOCALEID between 24 and 52;
필자는 특히이 열이 완전히 캡처되지 않도록 열 (레이블)을 찾고있었습니다. 더하기, Content Store에 액세스하는 데 필요한 것으로 알고있는 SDK가 없다고 들었습니다. 어쨌든 고마워. +1. – jabs
SDK는 Content Store를 쿼리 할 필요가 없습니다. Content Store는 IBM Cognos가 자체적으로 만드는 DB2 데이터베이스 (eek, 데모 용, 실제 제작 용이 아님) 또는 직접 작성한 데이터베이스와 Cognos를 가리키는 데이터베이스 중 하나입니다. Cognos에서 사용중인 로그인을 사용하여 Content Store에 연결하면 필요한 모든 액세스 권한이 부여됩니다. 반환 된 메타 데이터를 확인하십시오. 최종 웹 페이지를 작성하는 데 사용되는 데이터가 있으므로 찾고있는 레이블이 포함되어있을 가능성이 큽니다. – Damienknight
감사합니다 Damienknight, 쿼리가 이미 도움이되었습니다. 그러나 보고서 이름이 들어있는 폴더를 추가 할 수있는 방법이 있는지 알고 싶습니다. 예를 들어 일부 사용자는 폴더를 만든 다음 하위 폴더를 만든 다음 보고서를 저장합니다. 우리는 어떤 매출액을 가지고 있었고해야 할 것만 큼 문서화되지 않았습니다. 보고서에서 생성 된 이전에 저장 한 Excel 파일의 열 머리글을 기반으로 보고서를 찾아야합니다. 감사 ... – CWinKY
Cognos가 무엇인지 알고있는 사람이 있다는 것을 믿을 수 없습니다! 나는 그것을 사용하는 유일한 회사라고 생각했다. 어쨌든 ... "프로파일 링"을 들여다 볼 수 있습니다. 그러면 결과의 샘플은 물론 원하는 데이터 유형을 얻을 수 있습니다. – durbnpoisn
당신은 많은 다른 정보를 요구하고 있습니다. 보고서 메타 데이터는 Content Store에 저장되어있어 쉽게 빠져 나올 수 없지만 일부 Google 검색 결과는 검색어를 얻을 수 있습니다. 열 정의를 사용하면 개별 FM 모델을 분리해야 할 수 있습니다. – Andrew
@ durbnpoisn - 예, 여기에 있습니다. 내 부서의 점유율로 (당분간) 붙어 있습니다. 프로파일 링 팁에 감사드립니다. – jabs