Saltar al contenido principal
Adaptive Planning
Última actualización: 2023-06-23
ai.dataSource

ai.dataSource

​El origen de datos contiene configuraciones y tablas.

Funciones

Método
Parámetros
Devoluciones
Descripción
getTables()
Array<ai.dataSource.table>
Devuelve una lista de tablas importadas.
getTable( tableId )
tableId : ID remoto de cadena de la tabla
ai.dataSource.table
Devuelve la tabla con el ID de tabla solicitado. Devuelve un valor nulo si no se encuentra ninguna tabla.
getSettings()
Array<ai.dataSource.setting>
Devuelve todos los parámetros flexibles.
getSetting( displayName )
displayName : Cadena Nombre de la configuración
ai.dataSource.setting
Devuelve una configuración flexible por su nombre de visualización
Ejemplo
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
Devoluciones
Descripción
getColumnByDisplayName( name )
name : Cadena Nombre de visualización de la columna
ai.dataSource.column
Busca una columna por su nombre de visualización. Devuelve un valor nulo si no se encuentra ninguna columna.
getColumnById( id )
id : ID remoto de cadena de la columna
ai.dataSource.column
Busca una columna por su ID remoto. Devuelve un valor nulo si no se encuentra ninguna columna.
getColumns()
Array<ai.dataSource.column>
Devuelve todas las columnas secundarias que se han activado para la importación de datos.
getDisplayName()
Cadena
Devuelve el nombre de visualización de la tabla.
getId()
Cadena
Devuelve el ID remoto de esta tabla o el nombre de visualización si no se ha especificado ningún ID remoto.
getLastImported()
Cadena
Devuelve una cadena que identifica cuándo se importó la tabla por última vez.
getRelationships()
Array<ai.dataSource.relationship>
Devuelve todas las relaciones en las que esta tabla es la tabla principal de la relación.
getRequiredParameters()
Array<ai.dataSource.table.requiredParameter>
Devuelve todos los parámetros obligatorios de la tabla y sus valores de parámetro.
getRequiredParameter( id )
id : ID remoto de cadena del parámetro obligatorio definido durante la importación de estructura
ai.dataSource.table.requiredParameter
Devuelve un parámetro obligatorio de tabla por su ID remoto.
Ejemplo
//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
Devoluciones
Descripción
getColumnType()
Cadena
Devuelve el tipo de columna. El valor es "DateTimeColumn", "IntegerColumn", "FloatColumn", "BooleanColumn" o "TextColumn".
getDisplayName()
Cadena
Devuelve el nombre de visualización de las columnas.
getDisplayOrder()
Cadena
Devuelve el orden de visualización de las columnas.
getId()
Cadena
Devuelve el ID remoto de las columnas o el nombre de visualización si no se ha especificado ningún ID remoto.
getIncludeByDefault()
Booleano
Devuelve verdadero si la columna está incluida en la importación de datos.
getIncludeInKey()
Booleano
Devuelve verdadero si la columna forma parte de la clave de tabla. Las columnas clave no permiten valores nulos.
getLength()
Valor entero
Nota: solo para TextColumns. Devuelve la longitud máxima de los valores contenidos en una TextColumn.
getMandatoryForImports()
Verdadero
Devuelve verdadero si la columna debe formar parte de la importación de datos.
getNonFilterable()
Verdadero
Devuelve verdadero si la columna no se puede utilizar como parte de un filtro SQL (sentencia WHERE).
getRemoteColumnType()
Cadena
Devuelve el tipo de columna remota de las columnas tal como se define en la secuencia de comandos de estructura de importación.
Ejemplo
//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

Funciones
Método
Parámetros
Devoluciones
Descripción
getJoinExpression()
Cadena
Devuelve el SQL de almacenamiento de expresión de las relaciones, por ejemplo 'P.Column123 = R.Column321'.
getJoinType()
Int
Devuelve el tipo de combinación de las relaciones. Los valores son 0 (Inner), 1 (LeftOuter) o 2 (RightOuter).
getDisplayName()
Cadena
Devuelve el nombre de visualización de las relaciones.
getRelatedTableId()
Cadena
Devuelve el ID remoto de la tabla relacionada de las relaciones o su nombre de visualización es no se ha especificado ningún ID remoto.
getRelatedTableName()
Cadena
Devuelve el nombre de visualización de la tabla relacionada de las relaciones.

ai.dataSource.setting

Los parámetros flexibles son elementos secundarios de un origen de datos de nube personalizada. Los parámetros pueden ser estáticos en el sentido de que se configura un valor, o se pueden parametrizar de forma que, en tiempo de ejecución de la secuencia de comandos, se solicite a los usuarios que introduzcan un valor para el parámetro. Algunos ejemplos de uso de configuración son las URL, los nombres de usuario, las contraseñas, los rangos de fechas o las dimensiones a las que puede acceder una secuencia de comandos.
Funciones
Método
Parámetros
Devoluciones
Descripción
getDisplayName()
Cadena
Devuelve el nombre de visualización de la configuración.
getValue()
Mixto
Devuelve el valor del parámetro de configuración. El valor puede ser un tipo primitivo o un objeto complejo; consulte Tipos de valor a continuación.
isBoolean()
Booleano
Devuelve verdadero si el tipo de configuración es booleano.
isDimension()
Booleano
Devuelve verdadero si el tipo de configuración es Dimensión.
isInteger()
Booleano
Devuelve verdadero si el tipo de configuración es Entero.
isPassword()
Booleano
Devuelve verdadero si el tipo de configuración es Contraseña.
isPeriodRange()
Booleano
Devuelve verdadero si el tipo de configuración es PeriodRange.
isText()
Booleano
Devuelve verdadero si el tipo de configuración es Texto.
Ejemplo
//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
La función getValue() de cada configuración puede devolver un tipo primitivo o un objeto complejo.
Configuración booleana:
getValue() devuelve el valor como valor booleano.
Configuración de texto:
getValue() devuelve el valor como una cadena.
Configuración de número entero:
getValue() devuelve el valor como número entero.
Configuración de contraseña:
getValue() devuelve el valor como una cadena.
Configuración de rango de periodo:
getValue() devuelve el valor como un objeto complejo. Este objeto se define como:
Método
Parámetros
Devoluciones
Descripción
getFromPeriod()
Cadena
Devuelve una cadena que define la representación interna de resuelto
Adaptive Planning
From Period que se puede utilizar para pasar a las llamadas al método ai.calendar. P. ej. "3152|5201611100000"
getToPeriod()
Cadena
Devuelve una cadena que define la representación interna de resuelto
Adaptive Planning
Hasta Periodo que se puede usar para pasar a las llamadas al método ai.calendar. P. ej. "3152|5201611100000"
getFromPeriodStartDateTime()
Cadena
Devuelve una representación de cadena de fecha y hora de la fecha y hora inicial de Desde periodo, expresada en hora local. P. ej. "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
Cadena
Devuelve una representación de cadena de fecha y hora de la fecha y hora final del periodo inicial, expresada en la hora local. P. ej. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
Cadena
Devuelve una representación de cadena de fecha y hora de la fecha y hora inicial de Periodo final, expresada en hora local. P. ej. "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
Cadena
Devuelve una representación de cadena de fecha y hora de la fecha y hora final del periodo final, expresada en hora local. P. ej. "2016-07-01T00:00:00+10:00"
Ejemplo
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 }

Configuración de dimensión

getValue() devuelve el valor como un objeto complejo. Este objeto se define como:
Método
Parámetros
Devoluciones
Descripción
getDimensionName()
Cadena
Devuelve el nombre de la Dimensión definida en el valor.
getValueName()
Mixto
Devuelve el nombre del miembro de dimensión definido en el valor.
Ejemplo
//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 la ejecución de la secuencia de comandos, los parámetros obligatorios válidos solicitan al usuario que proporcione valores. A continuación, se puede acceder a estos valores en las secuencias de comandos. Los parámetros obligatorios se pueden crear durante importStructure.
Durante ImportData, solo se puede acceder en la secuencia de comandos a los parámetros obligatorios que se hayan configurado como setForDataImport(true).
Funciones
Método
Parámetros
Devoluciones
Descripción
getId()
Cadena
Devuelve el ID remoto del parámetro obligatorio.
getValue()
Mixto
Devuelve el valor del parámetro del parámetro obligatorio. El valor puede ser un tipo primitivo o un objeto complejo; consulte Tipos de valor a continuación.
isBoolean()
Booleano
Devuelve verdadero si el tipo de parámetro obligatorio es booleano.
isDimension()
Booleano
Devuelve verdadero si el tipo de parámetro obligatorio es Dimensión.
isInteger()
Booleano
Devuelve verdadero si el tipo de parámetro obligatorio es Entero.
isPassword()
Booleano
Devuelve verdadero si el tipo de parámetro obligatorio es Contraseña.
isPeriodRange()
Booleano
Devuelve verdadero si el tipo de parámetro obligatorio es PeriodRange.
isText()
Booleano
Devuelve verdadero si el tipo de parámetro obligatorio es Texto.
Tipos de valor
La función getValue() de cada parámetro obligatorio puede devolver un tipo primitivo o un objeto complejo.
Parámetros booleanos obligatorios
getValue() devuelve el valor como valor booleano.
Parámetros obligatorios de texto
getValue() devuelve el valor como una cadena.
Parámetros obligatorios de número entero
getValue() devuelve el valor como un valor entero.
Parámetros obligatorios de contraseña
getValue() devuelve el valor como una cadena.
Parámetros obligatorios de rango de periodo
getValue() devuelve el valor como un objeto complejo. Este objeto se define como:
Método
Parámetros
Devoluciones
Descripción
getFromPeriod()
Cadena
Devuelve una cadena que define el valor resuelto.
Adaptive Planning
Periodo inicial P. ej. "Mes y2016 M1"
getToPeriod()
Cadena
Devuelve una cadena que define el valor resuelto.
Adaptive Planning
Periodo final P. ej. "Mes y2016 M1"
getFromPeriodStartDateTime()
Cadena
Devuelve una representación de cadena de fecha y hora de la fecha y hora inicial de Desde periodo, expresada en hora local. P. ej. "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
Cadena
Devuelve una representación de cadena de fecha y hora de la fecha y hora final del periodo inicial, expresada en la hora local. P. ej. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
Cadena
Devuelve una representación de cadena de fecha y hora de la fecha y hora inicial de Periodo final, expresada en hora local. P. ej. "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
Cadena
Devuelve una representación de cadena de fecha y hora de la fecha y hora final del periodo final, expresada en hora local. P. ej. "2016-07-01T00:00:00+10:00"
Configuración de dimensión
getValue() devuelve el valor como un objeto complejo. Este objeto se define como:
Método
Parámetros
Devoluciones
Descripción
getDimensionName()
Cadena
Devuelve el nombre de la Dimensión definida en el valor.
getValueName()
Mixto
Devuelve el nombre del miembro de dimensión definido en el valor.