2016-07-28 2 views
2

나는 [date].[date].[day].[yyyy-MM-dd]과 같은 날짜 차원을 가지고 있으며 어제를 대표하는 회원, 즉 [date].[date].[day].[2016-07-27]을 받고 싶습니다. 이것을 어떻게 할 수 있습니까? MDX에 대한 몇 가지 스레드에서 IcCube - MDX 쿼리에서 어제 멤버 가져 오기

있지만 특정 IcCube, 그것은 다음과 같이 기록 :
1. STRTOMEMBER("[date].[date].[day].["+ FORMAT(NOW()-1,"yyyy-MM-dd") +"]")
2 STRTOMEMBER("[date].[date].[day].["+ VBAMDX.FORMAT(VBAMDX.NOW()-1,"yyyy-MM-dd") +"]")

첫 번째 솔루션은 '알 수없는 함수 FORMAT'및 오류라는 오류가 발생합니다 두 번째 솔루션에서 ""VBAMDX.NOW() "는 단일 매개 변수"index "가 필요합니다. VBAMDX.NOW를 NOW로 바꿀 경우 VBAMDX.FORMAT도 마찬가지입니다. 그러나 VBAMDX이 FORMAT에 대한 두 개의 매개 변수가 없으며 지금은 아무도 설명 모든 페이지 ...

+0

더 나은 대안 인 LookupByKey 함수를 확인하십시오. – ic3

답변

3

Excel 형식은 지원되지 않으므로 (오류보고가 최신 버전의 icCube에서 향상 되었기 때문) 이 page에 했나요 그 대신 나는 기능을 사용 :


그러나

StrToMember("[Time].[Calendar].[Day].&["+ DateToString(NOW()-1,"yyyy-MM-dd") +"]") 
키가 날짜 인 경우에는보다 강력한 솔루션입니다 LookupByKey 기능을했습니다 icCube에 :

LookupByKey([Time].[Calendar].[Day], Now()) 

또는 날짜가 필요한 경우 :

LookupByKey([Time].[Calendar].[Day], Today()) 

func을 사용하여 쉽게 날짜를 탐색 할 수 있습니다. (doc).

희망이 있습니다.

0

NOW의 오류를 일으키는 -1인가?

그럼 -1을 삭제하고 하나의 LAG을 추가하면 다음과 같이 작동할까요?

STRTOMEMBER("[date].[date].[day].["+ VBAMDX.FORMAT(VBAMDX.NOW(),"yyyy-MM-dd") +"]").LAG(1) 

난 그냥 그렇게 다음 중 하나를 시도하십시오, 코드, 멤버 이름의 마지막 부분의 대괄호 앞에 앰퍼샌드에서 놓치고있는 것으로 나타났습니다 :

STRTOMEMBER("[date].[date].[day].&["+ FORMAT(NOW()-1,"yyyy-MM-dd") +"]") 

또는

STRTOMEMBER("[date].[date].[day].&["+ VBAMDX.FORMAT(VBAMDX.NOW()-1,"yyyy-MM-dd") +"]") 

하는 경우 너는이 3 개의 측정을 시도한다 그들은 둘 다 실패 하는가?

WITH 
    MEMBER [Measures].[Today1] AS 
    VBAMDX.NOW() 
    MEMBER [Measures].[Today2] AS 
    VBAMDX.NOW()-1 
    MEMBER [Measures].[Today3] AS 
    VBAMDX.FORMAT(VBAMDX.NOW()-1,"yyyy-MM-dd") 
... 
+0

여전히 오류 : "문법 오류 : 암시 적 Item() 함수 호출 (적용 대상 : 구문 오류 : 암시 적 Item() 함수 호출 (VBAMDX.NOW에 적용) 단일 (인덱스) 매개 변수가 필요합니다 : 매개 변수가 없습니다.) 단일 (인덱스) 매개 변수가 필요합니다 : 매개 변수가 없습니다. " - 그리고 오늘 회원이 존재하지 않는다면 lag()가 도움이되지 않습니다 ... – UlrichWuenstel

+0

@UlrichWuenstel 코드에서'&'기호가 누락 된 것 같습니다. 내 대답에 대한 답변을 참조하십시오. – whytheq

+0

불행히도이 이 문제와 관련이 없습니다. 오류 VBAMDX funciton 상태입니다.NOW()에는 매개 변수가 필요하지만 무엇을 모르겠습니다. IcCube 고유의 문제인 것 같습니다. – UlrichWuenstel