주 컨텐츠로 이동
Adaptive Planning
최종 업데이트: 2023-06-23
ai.dataSource

ai.dataSource

​데이터 소스에는 설정과 테이블이 포함됩니다.

함수

방법
매개변수
반품
설명
getTables()
배열<ai.dataSource.table>
가져온 테이블의 목록을 반환합니다.
getTable( tableId )
tableId: 테이블의 문자열 원격 ID
ai.dataSource.table
요청된 테이블 ID가 있는 테이블을 반환합니다. 테이블을 찾을 수 없는 경우 null을 반환합니다.
getSettings()
Array<ai.dataSource.setting>
모든 가변형 설정을 반환합니다.
getSetting( displayName )
displayName: 설정의 문자열 이름입니다.
ai.dataSource.setting
표시명을 기준으로 유연한 설정을 반환합니다.
예:
function previewData(context) { var dataSource = context.getDataSource(); var allTablesInThisDataSource = dataSource.getTables(); //Navigate to Designer Settings tab, drag and drop a Static Integer parameter from the Settings Component //Setting Name: Custom Integer and Value: 100 var getSetting=dataSource.getSetting("Custom Integer" ); ai.log.logInfo(getSetting.getValue()); //100 }

ai.dataSource.table

방법
매개변수
반품
설명
getColumnByDisplayName( name )
name : 문자열 열의 표시명입니다.
ai.dataSource.column
표시명으로 열을 찾습니다. 열을 찾을 수 없는 경우 null을 반환합니다.
getColumnById( id )
id: 열의 문자열 원격 ID
ai.dataSource.column
원격 ID로 열을 찾습니다. 열을 찾을 수 없는 경우 null을 반환합니다.
getColumns()
Array<ai.dataSource.column>
데이터 가져오기에 대해 활성화된 모든 child 열을 반환합니다.
getDisplayName()
String
테이블의 표시명을 반환합니다.
getId()
String
이 테이블의 원격 ID를 반환하거나, 원격 ID가 지정되지 않은 경우 표시명을 반환합니다.
getLastImported()
String
테이블을 마지막으로 가져온 시간을 식별하는 문자열을 반환합니다.
getRelationships()
Array<ai.dataSource.relationship>
이 테이블이 관계의 기본 테이블인 모든 관계를 반환합니다.
getRequiredParameters()
Array<ai.dataSource.table.requiredParameter>
모든 테이블 필수 매개변수와 해당 매개변수 값을 반환합니다.
getRequiredParameter( id )
id: 구조 가져오기 중에 정의된 필수 매개변수의 문자열 원격 ID입니다.
ai.dataSource.table.requiredParameter
원격 ID별로 테이블 필수 매개변수를 반환합니다.
예:
//Consider a sample data source dataSample = { rows: [ {"Value": 10, "Measure": "", "Test": "No Space", "Effective Date": "2018-11-01"}, {"Value": 20, "Measure": " ", "Test": "One Space", "Effective Date": "2018-11-01"}, {"Value": 30, "Measure": " ", "Test": "Two Spaces", "Effective Date": "2018-11-01"}, {"Value": 40, "Measure": " ", "Test": "Three Spaces", "Effective Date": "2018-11-01"}, {"Value": 50, "Measure": "1 ", "Test": "Aus" + '\\-' + "tin" + '\\-', "Effective Date": "2018-11-01"}, {"Value": 10, "Measure": "2 ", "Test": "Austin", "Effective Date": "2018-12-01"}, {"Value": 20, "Measure": "3 ", "Test": "Austin", "Effective Date": "2018-12-01"}, {"Value": 30, "Measure": "4 ", "Test": "Austin", "Effective Date": "2018-12-01"}, {"Value": 40, "Measure": "5 ", "Test": "Austin", "Effective Date": "2018-12-01"} ] }; ExternalMetadataDefinition = { Tables : [ { name : "dataSample", displayName : "Sample", id:"dataSample", parameterId:"sampleParameter", columns : [ {name : "Value", displayName : "Value", type: "float", includeByDefault : true, }, {name : "Measure", displayName : "Measure", type: "text", includeByDefault : true}, {name : "Test", displayName : "Test", type: "text", includeByDefault : true}, {name : "Effective Date", displayName : "Date", type : "datetime", includeByDefault : true} ] } ] }; //Create a table structure function importStructure(context) { var addColumn = function(table, column, order) { var recordColumn = table.addColumn(column.name); recordColumn.setDisplayName(column.displayName); switch (column.type) { case "text": recordColumn.setTextColumnType(column.length); break; case "int": recordColumn.setIntegerColumnType(); break; case "float": recordColumn.setFloatColumnType(); break; case "boolean": recordColumn.setBooleanColumnType(); break; case "datetime": recordColumn.setDateTimeColumnType(); break; default: recordColumn.setTextColumnType(200); break; } recordColumn.setDisplayOrder(order); recordColumn.setIncludeByDefault(column.includeByDefault || false); recordColumn.setIncludeInKey(column.includeInKey || false); recordColumn.setMandatoryForImports(column.mandatoryForImport || false); recordColumn.setRemoteColumnType(column.remoteColumnType || "String"); }; var builder = context.getStructureBuilder(); var dataSource=context.getDataSource(); for (var i = 0; i < ExternalMetadataDefinition.Tables.length; i++) { var externalTable = ExternalMetadataDefinition.Tables[i]; var table = builder.addTable(externalTable.name); table.setDisplayName(externalTable.displayName); for (var j = 0; j < externalTable.columns.length; j++) { addColumn(table, externalTable.columns[j], j + 1); } } } //Examples for ai.datasource.table function importData(context){ var dataSource = context.getDataSource(); var alltablesinds=dataSource.getTables(); var rowset=context.getRowset(); //Example: getTableId; var tableId = rowset.getTableId(); ////dataSample var table= dataSource.getTable( tableId ); //Example: getDisplayName var dname=table.getDisplayName(); //Sample ai.log.logInfo("Table Display Name",dname); //Example: getLastImported var lastImported=table.getLastImported(); ai.log.logInfo("Last Imported:",lastImported); //Last Imported 10/23/2020 01:12:59 //Example: getId ai.log.logInfo("Table id",table.getId()) //dataSample }

ai.dataSource.table.column

방법
매개변수
반품
설명
getColumnType()
String
열 유형을 반환합니다. 값은 'DateTimeColumn', 'IntegerColumn', 'FloatColumn', 'BooleanColumn' 또는 'TextColumn'입니다.
getDisplayName()
String
열의 표시명을 반환합니다.
getDisplayOrder()
String
열의 표시 순서를 반환합니다.
getId()
String
원격 ID 또는 표시명이 원격 ID가 지정되지 않은 열을 반환합니다.
getIncludeByDefault()
부울
열이 데이터 가져오기에 포함된 경우 true를 반환합니다.
getIncludeInKey()
부울
열이 테이블 키의 일부인 경우 true를 반환합니다. 키 열은 null 값을 허용하지 않습니다.
getLength()
정수
참고: 텍스트 열에만 해당합니다. TextColumn에 저장된 값의 최대 길이를 반환합니다.
getMandatoryForImports()
True
열이 데이터 가져오기에 필요한 경우 true를 반환합니다.
getNonFilterable()
True
열을 SQL 필터(WHERE 문)의 일부로 사용할 수 없는 경우 true를 반환합니다.
getRemoteColumnType()
String
구조 가져오기 스크립트에 정의된 대로 열의 원격 열 유형을 반환합니다.
예:
//Consider a sample JSON data set dataSample = { rows: [ {"Value": 10, "Measure": "", "Test": "No Space", "Effective Date": "2018-11-01"}, {"Value": 20, "Measure": " ", "Test": "One Space", "Effective Date": "2018-11-01"}, {"Value": 30, "Measure": " ", "Test": "Two Spaces", "Effective Date": "2018-11-01"}, {"Value": 40, "Measure": " ", "Test": "Three Spaces", "Effective Date": "2018-11-01"}, {"Value": 50, "Measure": "1 ", "Test": "Aus" + '\\-' + "tin" + '\\-', "Effective Date": "2018-11-01"}, {"Value": 10, "Measure": "2 ", "Test": "Austin", "Effective Date": "2018-12-01"}, {"Value": 20, "Measure": "3 ", "Test": "Austin", "Effective Date": "2018-12-01"}, {"Value": 30, "Measure": "4 ", "Test": "Austin", "Effective Date": "2018-12-01"}, {"Value": 40, "Measure": "5 ", "Test": "Austin", "Effective Date": "2018-12-01"} ] }; ExternalMetadataDefinition = { Tables : [ { name : "dataSample", displayName : "Sample", id:"dataSample", parameterId:"2018-01-01", columns : [ {name : "Value", displayName : "Value", type: "float", includeByDefault : true, }, {name : "Measure", displayName : "Measure", type: "text", includeByDefault : true}, {name : "Test", displayName : "Test", type: "text", includeByDefault : true}, {name : "Effective Date", displayName : "Date", type : "datetime", includeByDefault : true} ] } ] }; function testConnection(context) { return true; } //Create a table structure function importStructure(context) { var addColumn = function(table, column, order) { var recordColumn = table.addColumn(column.name); recordColumn.setDisplayName(column.displayName); switch (column.type) { case "text": recordColumn.setTextColumnType(column.length); break; case "int": recordColumn.setIntegerColumnType(); break; case "float": recordColumn.setFloatColumnType(); break; case "boolean": recordColumn.setBooleanColumnType(); break; case "datetime": recordColumn.setDateTimeColumnType(); break; default: recordColumn.setTextColumnType(200); break; } recordColumn.setDisplayOrder(order); recordColumn.setIncludeByDefault(column.includeByDefault || false); recordColumn.setIncludeInKey(column.includeInKey || false); recordColumn.setMandatoryForImports(column.mandatoryForImport || false); recordColumn.setRemoteColumnType(column.remoteColumnType || "String"); }; var builder = context.getStructureBuilder(); var dataSource=context.getDataSource(); for (var i = 0; i < ExternalMetadataDefinition.Tables.length; i++) { var externalTable = ExternalMetadataDefinition.Tables[i]; var table = builder.addTable(externalTable.name); table.setDisplayName(externalTable.displayName); for (var j = 0; j < externalTable.columns.length; j++) { addColumn(table, externalTable.columns[j], j + 1); } } } //Examples for ai.datasource.table.column function importData(context) { var columnArray = rowset.getColumns(); var colIds=[]; var colDisplayNames=[]; var colTypes=[]; var colDisplayOrder=[]; var colIncludeByDefault=[]; var colLength=[]; for (var k = 0; k < columnArray.length; k++) { //Example:getColumnType colTypes.push(columnArray[k].getDisplayName().toString()+":"+columnArray[k].getColumnType().toString()); //Example:getDisplayName colDisplayNames.push(columnArray[k].getDisplayName().toString()); //Example:getDisplayOrder colDisplayOrder.push(columnArray[k].getDisplayName().toString()+":"+columnArray[k].getDisplayOrder().toString()); //Example:getId colIds.push(columnArray[k].getId().toString()); //Example:getIncludeByDefault colIncludeByDefault.push(columnArray[k].getDisplayName().toString()+":"+columnArray[k].getIncludeByDefault().toString()); //Example:getLength if(columnArray[k].getColumnType()==="TextColumn") { colLength.push(columnArray[k].getDisplayName().toString()+":"+columnArray[k].getLength()); } } ai.log.logInfo("Column Ids are "+colIds); //Column Ids are Effective Date,Value,Measure,Test ai.log.logInfo("Column Display names are "+colDisplayNames); //Column Display names are Date,Value,Measure,Test ai.log.logInfo("Column Types are "+colTypes); //Column Types are Date: DateTimeColumn, Value:FloatColumn, Measure:TextColumn,Test:TextColumn ai.log.logInfo("Column Display Order: "+colDisplayOrder); //Column Display Order: Date:4,Value:1,Measure:2,Test:3 ai.log.logInfo("Column Included by Default:"+colIncludeByDefault); //Column Included by Default:Date:true,Value:true,Measure:true,Test:true ai.log.logInfo("Length - "+colLength); //Length - Measure:200,Test:200 }

ai.dataSource.table.relationship

함수
방법
매개변수
반품
설명
getJoinExpression()
String
관계의 표현식 저장소 SQL을 반환합니다(예: 'P.Column123 = R.Column321'.
getJoinType()
정수
관계의 조인 유형을 반환합니다. 값은 0(내부), 1(왼쪽 외부) 또는 2(오른쪽 바깥쪽)입니다.
getDisplayName()
String
관계의 표시명을 반환합니다.
getRelatedTableId()
String
관계 관련 테이블의 원격 ID를 반환하거나, 해당 표시명이 원격 ID가 지정되지 않았습니다.
getRelatedTableName()
String
관계의 관련 테이블의 표시명을 반환합니다.

ai.dataSource.setting

유연한 설정은 커스텀 클라우드 데이터 소스의 하위 항목입니다. 설정은 값이 구성된다는 점에서 정적일 수 있고, 스크립트 런타임에 사용자에게 설정에 대한 값을 입력하라는 메시지가 표시된다는 점에서 매개변수화될 수 있습니다. 설정 용도의 예로는 스크립트가 액세스할 수 있는 URL, 사용자명, 비밀번호, 날짜 범위 또는 디멘션이 있습니다.
함수
방법
매개변수
반품
설명
getDisplayName()
String
설정의 표시명을 반환합니다.
getValue()
혼합
설정의 매개변수 값을 반환합니다. 값은 기본 유형 또는 복합 오브젝트일 수 있습니다. 아래의 값 유형을 참조하십시오.
isBoolean()
부울
설정 유형이 부울이면 true를 반환합니다.
isDimension()
부울
설정 유형이 디멘션인 경우 true를 반환합니다.
isInteger()
부울
설정 유형이 정수인 경우 true를 반환합니다.
isPassword()
부울
설정 유형이 비밀번호인 경우 true를 반환합니다.
isPeriodRange()
부울
설정 유형이 PeriodRange이면 true를 반환합니다.
isText()
부울
설정 유형이 텍스트인 경우 true를 반환합니다.
예:
//Navigate to Designer Settings tab and drag an Integer Static parameter from the Settings Component pane //Name the setting Custom Integer and set the value to 100 var dataSource= context.getDataSource(); var setting=dataSource.getSetting("Custom Integer" ); //Example: getDisplayName var name = setting.getDisplayName(); //Custom Integer //Example: getValue var value = setting.getValue(); //100 // DataType checkup for the setting. if(setting.isInteger()){ ai.log.logInfo("Setting is of the type Integer"); //Setting is of the type Integer } //Check for other data types using setting.isPeriodRange(), setting.isInteger(), setting.isBoolean(), setting.isText(), setting.isPassword(), setting.isDimension();
값 유형
각 설정의 getValue() 함수는 기본 유형 또는 복합 오브젝트를 반환할 수 있습니다.
부울 설정:
getValue()는 값을 부울로 반환합니다.
텍스트 설정:
getValue()는 값을 문자열로 반환합니다.
정수 설정:
getValue()는 값을 정수로 반환합니다.
비밀번호 설정:
getValue()는 값을 문자열로 반환합니다.
기간 범위 설정:
getValue()는 값을 복합 오브젝트로 반환합니다. 이 오브젝트는 다음과 같이 정의됩니다.
방법
매개변수
반품
설명
getFromPeriod()
String
의 내부 표현을 정의하는 문자열을 반환합니다.
Adaptive Planning
ai.calendar 메서드 호출에 전달하는 데 사용할 수 있는 시작 기간입니다. 예: "3152|5201611100000"
getToPeriod()
String
의 내부 표현을 정의하는 문자열을 반환합니다.
Adaptive Planning
ai.calendar 메서드 호출에 전달하는 데 사용할 수 있는 종료 기간입니다. 예: "3152|5201611100000"
getFromPeriodStartDateTime()
String
현지 시간으로 표현된, 시작 기간 시작 일시의 날짜/시간 문자열 표현을 반환합니다. 예: "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
현지 시간으로 표시되는, 시작 기간 종료일시를 나타내는 날짜/시간 문자열을 반환합니다. 예: "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
종료 기간 시작일시를 현지 시간으로 표시한 날짜/시간 문자열 표현을 반환합니다. 예: "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
현지 시간으로 표시된 종료일시 종료일시를 나타내는 날짜/시간 문자열을 반환합니다. 예: "2016-07-01T00:00:00+10:00"
예:
function importData(context) { var dataSource = context.getDataSource(); //getFromPeriod var getFromPeriod=dataSource.getSetting("Period Range").getValue().getFromPeriod(); //getToPeriod var getToPeriod=dataSource.getSetting("Period Range").getValue().getToPeriod(); //getFromPeriodStartDateTime var getFromPeriodStartDateTime = dataSource.getSetting("Period Range").getValue().getFromPeriodStartDateTime().substring(0, 10); ai.log.LogInfo("getFromPeriodStartDateTime"+getFromPeriodStartDateTime); //2017-12-01 //getFromPeriodEndDateTime var getFromPeriodEndDateTime = dataSource.getSetting("Period Range").getValue().getFromPeriodEndDateTime().substring(0, 10); ai.log.LogInfo("getFromPeriodEndDateTime"+getFromPeriodEndDateTime); //2017-12-31 //getToPeriodStartDateTime var getToPeriodStartDateTime = dataSource.getSetting("Period Range").getValue().getToPeriodEndDateTime().substring(0, 10); ai.log.LogInfo("getToPeriodStartDateTime"+getToPeriodStartDateTime); //2018-01-01 //getToPeriodEndDateTime var getToPeriodEndDateTime = dataSource.getSetting("Period Range").getValue().getToPeriodEndDateTime().substring(0, 10); ai.log.LogInfo("getToPeriodEndDateTime"+getToPeriodEndDateTime); //2018-01-30 }

디멘션 설정

getValue()는 값을 복합 오브젝트로 반환합니다. 이 오브젝트는 다음과 같이 정의됩니다.
방법
매개변수
반품
설명
getDimensionName()
String
값에 정의된 디멘션의 이름을 반환합니다.
getValueName()
혼합
값에 정의된 디멘션 구성원의 이름을 반환합니다.
예:
//Navigate to Designer Settings tab and drag a Static Dimension parameter from the Settings Component pane //Name the setting "Custom Dimension" and set a value from the Static Dimension Setting dropdown var setting=dataSource.getSetting("Custom Dimension" ); var value = setting.getValue(); //Example: getDisplayName var name = value.getDimensionName(); var settingValue=value.getValueName(); ai.log.logInfo("Dimension Settings Name: "+name+" and Dimension Settings Value: "+settingValue); //Dimension Settings Name: Level and Dimension Settings Value: Company B (40% owned)Example for Dimension Settings //Navigate to Designer Settings tab and drag a Static Dimension parameter from the Settings Component pane //Name the setting "Custom Dimension" and set a value from the Static Dimension Setting dropdown var setting=dataSource.getSetting("Custom Dimension" ); var value = setting.getValue(); //Example: getDisplayName var name = value.getDimensionName(); var settingValue=value.getValueName(); ai.log.logInfo("Dimension Settings Name: "+name+" and Dimension Settings Value: "+settingValue); //Dimension Settings Name: Level and Dimension Settings Value: Company B (40% owned)

ai.dataSource.table.requiredParameter

스크립트를 실행하는 동안 유효한 필수 매개변수가 표시되면 사용자에게 값을 입력하라는 메시지가 표시됩니다. 그러면 스크립트에서 이러한 값에 액세스할 수 있습니다. importStructure 중에 필수 매개변수를 생성할 수 있습니다.
ImportData 중에 setForDataImport(true)로 구성할 수 있는 필수 매개변수만 스크립트에서 액세스할 수 있습니다.
함수
방법
매개변수
반품
설명
getId()
String
필수 매개변수의 원격 ID를 반환합니다.
getValue()
혼합
필수 매개변수의 매개변수 값을 반환합니다. 값은 기본 유형 또는 복합 오브젝트일 수 있습니다. 아래의 값 유형을 참조하십시오.
isBoolean()
부울
필수 매개변수의 유형이 부울이면 true를 반환합니다.
isDimension()
부울
필수 매개변수의 유형이 디멘션이면 true를 반환합니다.
isInteger()
부울
필수 매개변수의 유형이 정수인 경우 true를 반환합니다.
isPassword()
부울
필수 매개변수의 유형이 비밀번호인 경우 true를 반환합니다.
isPeriodRange()
부울
필수 매개변수의 유형이 PeriodRange이면 true를 반환합니다.
isText()
부울
필수 매개변수의 유형이 텍스트인 경우 true를 반환합니다.
값 유형
각 필수 매개변수의 getValue() 함수는 기본 유형 또는 복합 오브젝트를 반환할 수 있습니다.
부울 필수 매개변수
getValue()는 값을 부울로 반환합니다.
텍스트 필수 매개변수
getValue()는 값을 문자열로 반환합니다.
정수 필수 매개변수
getValue()는 값을 정수로 반환합니다.
비밀번호 필수 매개변수
getValue()는 값을 문자열로 반환합니다.
기간 범위 필수 매개변수
getValue()는 값을 복합 오브젝트로 반환합니다. 이 오브젝트는 다음과 같이 정의됩니다.
방법
매개변수
반품
설명
getFromPeriod()
String
해결을 정의하는 문자열을 반환합니다.
Adaptive Planning
시작 기간 예: '월 y2016 M1'
getToPeriod()
String
해결을 정의하는 문자열을 반환합니다.
Adaptive Planning
종료 기간 예: '월 y2016 M1'
getFromPeriodStartDateTime()
String
현지 시간으로 표현된, 시작 기간 시작 일시의 날짜/시간 문자열 표현을 반환합니다. 예: "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
현지 시간으로 표시되는, 시작 기간 종료일시를 나타내는 날짜/시간 문자열을 반환합니다. 예: "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
종료 기간 시작일시를 현지 시간으로 표시한 날짜/시간 문자열 표현을 반환합니다. 예: "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
현지 시간으로 표시된 종료일시 종료일시를 나타내는 날짜/시간 문자열을 반환합니다. 예: "2016-07-01T00:00:00+10:00"
디멘션 설정
getValue()는 값을 복합 오브젝트로 반환합니다. 이 오브젝트는 다음과 같이 정의됩니다.
방법
매개변수
반품
설명
getDimensionName()
String
값에 정의된 디멘션의 이름을 반환합니다.
getValueName()
혼합
값에 정의된 디멘션 구성원의 이름을 반환합니다.