2011-11-09 3 views
0

큐브에서 마지막으로 업데이트 된 날짜를 검색하려고합니다. 하루에 두 번씩 실행되는 프로세스가 있습니다. (결국 버튼 클릭만으로 실행될 수 있기를 바래요. 나는 이것 모두에 아주 새롭다.SSAS/MDX/ADOMD.NET - 큐브에서 마지막으로 업데이트 된 날짜 검색

그래서 지금은 해당 프로세스가 마지막으로 실행될 때의 MDX 쿼리를 통해 datetime 값을 검색하고 싶습니다.

public AdomdConnection conn = new AdomdConnection("Data Source=BTN-SQL1;Initial Catalog=BTNTurboAnalysisServices;"); 

프로세스가 호출됩니다 : 프로세스 내가 지금까지이있어 그런

을 SSAS,하지만 난 내 MDX 쿼리에 작성하는 것을 잘 모릅니다 :

여기

내 연결 문자열입니다
conn.Open(); 

    AdomdCommand cmd = conn.CreateCommand(); 

    cmd.CommandText = @" 
         SELECT 
         NON EMPTY { [] } ON COLUMNS, 
            { [] } ON ROWS 
         FROM  [Sales Analysis] 
         "; 

감사합니다. 감사합니다.

답변

2

스키마를 사용하여 해당 정보를 얻을 수 있습니다.

ADODB 개체를 사용하고 있지만 해당 ADOMD 개체를 찾을 수 있습니다. 죄송합니다 ... 오답

Set objRst = objConnection.OpenSchema(32, Array(strCatalog, vbNullString, strCube)) 
dtLast = objRs("LAST_DATA_UPDATE") 

...

가 LASTSIBLING 기능을 시도해보십시오 선택 {[조치] [인터넷 판매 금액].} 열에서 {[날짜] [. 회계]. [회계 연도]. & [2002] .LASTSIBLING} 행 On [Adventure Works] 올린 사람 :

+1

답장을 보내 주셔서 감사합니다! 사실 큐브의 LastProcessed 속성을 사용하여 문제를 해결했습니다. cube.LastProcessed.ToString ("yyyy-MM-dd HH : mm : ss"); – CallumVass

+0

LastProcessed 속성은 좋은 해결책 인 것처럼 들립니다. 그러나, 나는 다른 것을했는데, 나는 표준 MS SQL DB 테이블에 로그인을 유지한다. 큐브를 처리 할 때마다 프로세스의 시작 시간과 종료 시간을 외부 적으로 기록합니다. 이렇게하면 프로세스가 실행될 때마다 프로세스의 지속 시간을 알 수 있다는 부가 가치를 얻을 수 있습니다. – YuvalHerziger

관련 문제