목적:
런타임 프롬프트를 사용하여 한 데이터베이스의 데이터를 다른 데이터베이스로 복사하거나 MDX 스크립트를 사용하여 한 서버의 데이터를 다른 서버로 복사합니다.
RTP를 다음 인수에 사용할 수 있습니다.
이러한 인수의 경우 변수를 사용하지 않고 $1, $2, $3 등을 사용합니다. 그런 다음 인수에서 @LIST 함수를 사용하여 이러한 변수를 전달합니다. 첫번째 인수의 입력은 $1를 대체하고, 두번째 인수는 $2를 대체하는 방식으로 계속됩니다.
구문:
Java Class: .hyperion.calcmgr.common.cdf.MDXDataCopy.dataCopy(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String[],String)
CDF Spec: @CalcMgrMDXDataCopyRTP(key,user,password,sourcApplication,sourrcDatabase,dtnApplication,dtnDatabase,columQuery,rowQuery,whereQuery,sourcMappings,targetMappings,targetPOVColumns,maxRowsPerPage,arguments,loggerName)
이 예에서는 런타임 프롬프트 인수에 변수를 사용하지 않고 $1, $2, $3 등을 사용합니다. 인수에 @LIST 함수를 사용하여 이러한 변수를 전달했습니다. 첫번째 인수의 입력은 $1를 대체하고, 두번째 인수의 입력은 $2를 대체하는 방식으로 계속됩니다.
예:
FIX ("FY14", {Scenario}, {Version}, {Department})
"Jan" (
@CalcMgrMDXDataCopyRTP(
"fht1qmevLWMqKSHF2yusKS",
"py9FTBsRCwp8afii9ntCAwSvVUXr3oZbxpxFMqobx5Jwkt34Cfxvhs21z4WmG9KT",
"KvwlKgs56Coi1HQsrk1UwiVi9zyoE+Llel4BrYBHiJz9PF6ZDVQ/rF5taip707CL",
"Vision",
"Plan1",
""
"ASO_401",
"ASO_401",
""
"{[$1]}" ,
"NON EMPTY (Crossjoin({Descendants([&QRFPer1],[Period].Levels(0)),Descendants([&QRFPer2],[Period].Levels(0)),Descendants([&QRFPer3],[Period].Levels(0)),Descendants([&QRFPer4],[Period].Levels(0))},
Crossjoin({[&QRFYr1],[&QRFYr2],[&QRFYr3],[&QRFYr4]},Crossjoin({[$3]}, Crossjoin(Descendants([P_TP],[Product].Levels(0)),{[Units],[5800],[9000]})))))",
"([$2])",
"",
"",
"",
""
"-1",
@LIST(@name({Scenario}),@name({Department}),@name({Version})),
"c:/Temp/CM_DCopyVW1.log"
);
)
ENDFIX