목적:
런타임 프롬프트를 사용하여 한 데이터베이스의 데이터를 다른 데이터베이스로 복사하거나 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