Ir para o conteúdo principal
Adaptive Planning
Última atualização: 2023-06-23
ai.dataSource

ai.dataSource

​A fonte de dados contém configurações e tabelas.

Funções

Método
Parâmetros
Devoluções
Descrição
getTables()
Array<ai.dataSource.table>
Retorna uma lista de tabelas importadas.
getTable( tableId )
tableId: cadeia de caracteres da ID remota da tabela
ai.dataSource.table
Retorna a tabela com a ID da tabela solicitada. Retorna nulo se nenhuma tabela é encontrada.
getSettings()
Array<ai.dataSource.setting>
Retorna todas as configurações flexíveis.
getSetting( displayName )
displayName : cadeia de caracteres do nome da configuração
ai.dataSource.setting
Retorna uma configuração flexível pelo nome de exibição
Exemplo
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

Método
Parâmetros
Devoluções
Descrição
getColumnByDisplayName( name )
name: cadeia de caracteres Nome de exibição da coluna
ai.dataSource.column
Localiza uma coluna pelo nome de exibição. Retorna nulo se nenhuma coluna é encontrada.
getColumnById( id )
id : cadeia de caracteres da ID remota da coluna
ai.dataSource.column
Localiza uma coluna por sua ID remota. Retorna nulo se nenhuma coluna é encontrada.
getColumns()
Array<ai.dataSource.column>
Retorna todas as colunas filho que foram habilitadas para importação de dados.
getDisplayName()
Cadeia de caracteres
Retorna o nome de exibição da tabela.
getId()
Cadeia de caracteres
Retorna a ID remota desta tabela ou o nome de exibição se nenhuma ID remota foi especificada.
getLastImported()
Cadeia de caracteres
Retorna uma cadeia de caracteres que identifica quando a tabela foi importada pela última vez.
getRelationships()
Array<ai.dataSource.relationship>
Retorna todos os relacionamentos em que esta tabela é a tabela principal do relacionamento.
getRequiredParameters()
Array<ai.dataSource.table.requiredParameter>
Retorna todos os parâmetros obrigatórios da tabela e seus valores de parâmetro.
getRequiredParameter( id )
id: ID remota da cadeia de caracteres do parâmetro obrigatório conforme definido durante a importação de estrutura
ai.dataSource.table.requiredParameter
Retorna um parâmetro obrigatório de tabela por sua ID remota.
Exemplo
//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

Método
Parâmetros
Devoluções
Descrição
getColumnType()
Cadeia de caracteres
Retorna o tipo de coluna. O valor é "DateTimeColumn", "IntegerColumn", "FloatColumn", "BoolianoColumn" ou "TextColumn".
getDisplayName()
Cadeia de caracteres
Retorna o nome de exibição das colunas.
getDisplayOrder()
Cadeia de caracteres
Retorna a ordem de exibição das colunas.
getId()
Cadeia de caracteres
Retorna a ID remota das colunas ou o nome de exibição é que nenhuma ID remota foi especificada.
getIncludeByDefault()
Booliano
Retorna verdadeiro se a coluna está incluída na importação de dados.
getIncludeInKey()
Booliano
Retorna verdadeiro se a coluna faz parte da chave da tabela. Colunas-chave não permitem valores nulos.
getLength()
Número inteiro
Observação: somente para TextColumns. Retorna o comprimento máximo de valores mantidos em um TextColumn.
getMandatoryForImports()
Verdadeiro
Retorna verdadeiro se a coluna for obrigatória para fazer parte da importação de dados.
getNonFilterable()
Verdadeiro
Retorna verdadeiro se a coluna não pode ser usada como parte de um filtro SQL (instrução WHERE).
getRemoteColumnType()
Cadeia de caracteres
Retorna o tipo de coluna remota das colunas, conforme definido no script de importação de estrutura.
Exemplo
//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

Funções
Método
Parâmetros
Devoluções
Descrição
getJoinExpression()
Cadeia de caracteres
Retorna o SQL de armazenamento de expressões dos relacionamentos, por exemplo 'P.Column123 = R.Column321'.
getJoinType()
Int
Retorna o tipo de junção dos relacionamentos. Os valores são 0 (interno), 1 (LeftOuter) ou 2 (RightOuter).
getDisplayName()
Cadeia de caracteres
Retorna o nome de exibição dos relacionamentos.
getRelatedTableId()
Cadeia de caracteres
Retorna a ID remota da tabela relacionada dos relacionamentos, ou seu nome de exibição é Nenhuma ID remota especificada.
getRelatedTableName()
Cadeia de caracteres
Retorna o nome de exibição da tabela relacionada dos relacionamentos.

ai.dataSource.setting

As configurações flexíveis são itens filho de uma fonte de dados em nuvem personalizada. As configurações podem ser estáticas, em que um valor é definido, ou podem ser parametrizadas de forma que, em tempo de execução do script, os usuários sejam solicitados a inserir um valor para a configuração. Exemplos de uso de configuração são URLs, nomes de usuário, senhas, intervalos de datas ou dimensões que um script pode acessar.
Funções
Método
Parâmetros
Devoluções
Descrição
getDisplayName()
Cadeia de caracteres
Retorna o nome de exibição das configurações.
getValue()
Misto
Retorna o valor do parâmetro da configuração. O valor pode ser um tipo primário ou um objeto complexo - consulte Tipos de valor abaixo.
isBoolean()
Booliano
Retorna verdadeiro se o tipo de configuração é Booliano.
isDimension()
Booliano
Retorna verdadeiro se o tipo de configuração é Dimensão.
isInteger()
Booliano
Retorna verdadeiro se o tipo de configuração é Número inteiro.
isPassword()
Booliano
Retorna verdadeiro se o tipo de configuração é Senha.
isPeriodRange()
Booliano
Retorna verdadeiro se o tipo de configuração é PeriodRange.
isText()
Booliano
Retorna verdadeiro se o tipo de configuração é Texto.
Exemplo
//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();
Tipos de valor
A função getValue() de cada configuração pode retornar um tipo primário ou um objeto complexo.
Configurações de booliano:
getValue() retorna o valor como um booliano.
Configurações de texto:
getValue() retorna o valor como uma cadeia de caracteres.
Configurações de número inteiro:
getValue() retorna o valor como um número inteiro.
Configurações de senha:
getValue() retorna o valor como uma cadeia de caracteres.
Configurações de intervalo de períodos:
getValue() retorna o valor como um objeto complexo. Esse objeto é definido da seguinte forma:
Método
Parâmetros
Devoluções
Descrição
getFromPeriod()
Cadeia de caracteres
Retorna uma cadeia de caracteres que define a representação interna de resolvido.
Adaptive Planning
Período inicial que pode ser usado para passar para as chamadas de método ai.calendar. E.g. "3152|5201611100000"
getToPeriod()
Cadeia de caracteres
Retorna uma cadeia de caracteres que define a representação interna de resolvido.
Adaptive Planning
Período de término que pode ser usado para passar para as chamadas de método do ai.calendar. E.g. "3152|5201611100000"
getFromPeriodStartDateTime()
Cadeia de caracteres
Retorna uma representação de cadeia de caracteres de data e hora da data e hora de início do período inicial, expressa na hora local. E.g. "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
Cadeia de caracteres
Retorna uma representação de cadeia de caracteres de data e hora da data e hora de término do período inicial, expressa na hora local. E.g. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
Cadeia de caracteres
Retorna uma representação de cadeia de caracteres de data e hora da data e hora de início do Período final, expressa na hora local. E.g. "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
Cadeia de caracteres
Retorna uma representação de cadeia de caracteres de data e hora da data e hora de término do Período final, expressa na hora local. E.g. "2016-07-01T00:00:00+10:00"
Exemplo
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 }

Configurações de dimensão

getValue() retorna o valor como um objeto complexo. Esse objeto é definido da seguinte forma:
Método
Parâmetros
Devoluções
Descrição
getDimensionName()
Cadeia de caracteres
Retorna o nome da dimensão definida no valor.
getValueName()
Misto
Retorna o nome do membro da dimensão definido no valor.
Exemplo
//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

Durante a execução do script, Parâmetros obrigatórios válidos solicitam que o usuário forneça valores. Esses valores podem ser acessados em scripts. Parâmetros obrigatórios podem ser criados durante importStructure.
Durante ImportData, somente os Parâmetros obrigatórios que foram configuráveis como setForDataImport(true) estão acessíveis no script.
Funções
Método
Parâmetros
Devoluções
Descrição
getId()
Cadeia de caracteres
Retorna a ID remota do parâmetro obrigatório.
getValue()
Misto
Retorna o valor do parâmetro obrigatório. O valor pode ser um tipo primário ou um objeto complexo - consulte Tipos de valor abaixo.
isBoolean()
Booliano
Retorna verdadeiro se o tipo do parâmetro obrigatório é Booliano.
isDimension()
Booliano
Retorna verdadeiro se o tipo do parâmetro obrigatório é Dimensão.
isInteger()
Booliano
Retorna verdadeiro se o tipo do parâmetro obrigatório é Número inteiro.
isPassword()
Booliano
Retorna verdadeiro se o tipo do parâmetro obrigatório é Senha.
isPeriodRange()
Booliano
Retorna verdadeiro se o tipo do parâmetro obrigatório é PeriodRange.
isText()
Booliano
Retorna verdadeiro se o tipo do parâmetro obrigatório é Texto.
Tipos de valor
A função getValue() de cada parâmetro obrigatório pode retornar um tipo primário ou um objeto complexo.
Parâmetros boolianos obrigatórios
getValue() retorna o valor como um valor booliano.
Parâmetros obrigatórios de texto
getValue() retorna o valor como uma Cadeia de caracteres.
Parâmetros de número inteiro obrigatórios
getValue() retorna o valor como um número inteiro.
Parâmetros obrigatórios de senha
getValue() retorna o valor como uma Cadeia de caracteres.
Parâmetros obrigatórios de intervalo de períodos
getValue() retorna o valor como um objeto complexo. Esse objeto é definido da seguinte forma:
Método
Parâmetros
Devoluções
Descrição
getFromPeriod()
Cadeia de caracteres
Retorna uma cadeia de caracteres que define o resolvido
Adaptive Planning
Período inicial E.g. "Mês y2016 M1"
getToPeriod()
Cadeia de caracteres
Retorna uma cadeia de caracteres que define o resolvido
Adaptive Planning
Período final E.g. "Mês y2016 M1"
getFromPeriodStartDateTime()
Cadeia de caracteres
Retorna uma representação de cadeia de caracteres de data e hora da data e hora de início do período inicial, expressa na hora local. E.g. "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
Cadeia de caracteres
Retorna uma representação de cadeia de caracteres de data e hora da data e hora de término do período inicial, expressa na hora local. E.g. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
Cadeia de caracteres
Retorna uma representação de cadeia de caracteres de data e hora da data e hora de início do Período final, expressa na hora local. E.g. "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
Cadeia de caracteres
Retorna uma representação de cadeia de caracteres de data e hora da data e hora de término do Período final, expressa na hora local. E.g. "2016-07-01T00:00:00+10:00"
Configurações de dimensão
getValue() retorna o valor como um objeto complexo. Esse objeto é definido da seguinte forma:
Método
Parâmetros
Devoluções
Descrição
getDimensionName()
Cadeia de caracteres
Retorna o nome da dimensão definida no valor.
getValueName()
Misto
Retorna o nome do membro da dimensão definido no valor.