2017-10-02 7 views
3

icCube에서 R 함수를 데모로 사용하여 https://www.iccube.com/support/documentation/mdx_integration/r_integration.phpicCube MDX +에서 R을 사용하면 배열을 전달하고 검색하는 방법은 무엇입니까?

제공하려는 매트릭스에서 계산을 수행하는보다 복잡한 사용자 정의 R 스크립트를 호출해야합니다. 결과는 벡터 여야합니다.

예 : 는 - 매트릭스 : 총 주, 시간/주 - 벡터 : 조치 프로젝트 (프로젝트와 같은 순서대로) : 시작 주

은 가능한가, 어떻게이 작업을 수행하는 구문은 MDX에서?

답변

1

이런 식으로 R_RandomgVector는 매개 변수로 정의 된 크기의 임의 값의 벡터를 생성합니다. TEST 멤버는 반환 된 벡터의 길이를 반환합니다. 나는 V_는 R 기능에 변형 행렬을하고 조언 내가 마지막으로 작동있어 힌트로, 같은 여기

WITH 
    NATIVE FUNCTION R_RandomVector(Value v_) AS 
     /* R  

      round(runif(v_,0,1), 2)  
     */ 
    MEMBER TEST as R_RandomVector(100)->length() 
SELECT 
    TEST on 0 
FROM [Sales] 

및 매트릭스

WITH 
    NATIVE FUNCTION R_RandomVector(Value v_) AS 
     /* R 

      t(v_ %*% runif(nrow(v_) ,0,1)) 

     */ 
    MEMBER TEST as R_RandomVector(Matrix([Product].[Product].[Article],[Product].[Product].[Article], [Measures].[Count]) ) 
SELECT 
    TEST on 0 
FROM [Sales] 
+0

감사와 벡터를 반환 할 수 있습니다 같아요. 실제 MDX 문에 벡터 결과를 바인딩 할 때 몇 가지 문제가 있었지만 다음과 같은 방법으로 처리했습니다. R 함수 테스트 ... MEMBER [측정 값]. [결과]를 TEST-> value 랭크 (설정 부재) -1) 에서 {[대책]. [결과] 0~3 에 위치한 1 개의 설정 [큐브] 지금 가진 유일한 문제 함수 TEST 호출된다는 것이다 집합의 각 구성원에 대해 테스트를 위해 결과를 캐시하는 방법이 있습니까? – Arthur

+0

아마도 중간 계산을 추가하십시오. 멤버 (R 함수 사용)가 캐싱 될 것인가? –