Passer au contenu principal
Adaptive Planning
Dernière mise à jour : 2023-06-23
ai.dataSource

ai.dataSource

​La source de données contient des paramètres et des tables.

Fonctions

Méthode
Paramètres
Retours
Description
getTables()
Array<ai.dataSource.table>
Renvoie une liste des tables importées.
getTable( tableId )
tableId : chaîne d'identifiant distant de la table
ai.dataSource.table
Renvoie la table avec l'identifiant de table demandé. Renvoie la valeur "null" si aucune table n'est trouvée.
getSettings()
Array<ai.dataSource.setting>
Renvoie tous les paramètres flexibles.
getSetting( displayName )
displayName : chaîne de nom du paramètre
ai.dataSource.setting
Renvoie un paramètre flexible par son nom d'affichage
Exemple
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éthode
Paramètres
Retours
Description
getColumnByDisplayName( nom )
name : chaîne Nom d'affichage de la colonne
ai.dataSource.column
Recherche une colonne par son nom d'affichage. Renvoie la valeur "null" si aucune colonne n'a été trouvée.
getColumnById( id )
id : chaîne Identifiant distant de la colonne
ai.dataSource.column
Recherche une colonne avec son identifiant distant. Renvoie la valeur "null" si aucune colonne n'a été trouvée.
getColumns()
Array<ai.dataSource.column>
Renvoie toutes les colonnes enfants sur lesquelles l'import de données a été activée.
getDisplayName()
String
Renvoie le nom d'affichage de la table.
getId()
String
Renvoie l'identifiant distant de cette table, ou le nom d'affichage si aucun identifiant distant n'a été spécifié.
getLastImported()
String
Renvoie une chaîne indiquant quand la table a été importée pour la dernière fois.
getRelationships()
Array<ai.dataSource.relationship>
Renvoie toutes les relations où cette table est la table principale du lien.
getRequiredParameters()
Array<ai.dataSource.table.requiredParameter>
Renvoie tous les paramètres obligatoires de la table et leurs valeurs de paramètre.
getRequiredParameter( id )
id : chaîne Identifiant distant du paramètre obligatoire tel que défini pendant l'import de la structure
ai.dataSource.table.requiredParameter
Renvoie un paramètre obligatoire de table par son identifiant distant.
Exemple
//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éthode
Paramètres
Retours
Description
getColumnType()
String
Renvoie le type de colonne. La valeur est 'DateTimeColumn', 'IntegerColumn', 'FloatColumn', 'booléenColumn' ou 'TextColumn'.
getDisplayName()
String
Renvoie le nom d'affichage des colonnes.
getDisplayOrder()
String
Renvoie l'ordre d'affichage des colonnes.
getId()
String
Renvoie les colonnes Identifiant distant, ou le nom d'affichage n'est pas un identifiant distant qui a été indiqué.
getIncludeByDefault()
Boolean
Renvoie le résultat "vrai" si la colonne est incluse dans l'import des données.
getIncludeInKey()
Boolean
Renvoie true (vrai) si la colonne fait partie de la clé de table. Les colonnes clés n'autorisent pas les valeurs nulles.
getLength()
Integer
Remarque : uniquement pour TextColumns. Renvoie la longueur maximale des valeurs contenues dans un TextColumn.
getMandatoryForImports()
Vrai
Renvoie true (vrai) si la colonne doit faire partie de l'import des données.
getNonFilterable()
Vrai
Renvoie true (vrai) si la colonne ne peut pas être utilisée dans le cadre d'un filtre SQL (instruction WHERE).
getRemoteColumnType()
String
Renvoie le type de colonne distante des colonnes tel que défini dans le script d'import de la structure.
Exemple
//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

Fonctions
Méthode
Paramètres
Retours
Description
getJoinExpression()
String
Renvoie l'expression SQL de stockage de l'expression des relations 'P.Column123 = R.Column321'.
getJoinType()
Int
Renvoie le type de jointure des relations. Les valeurs sont 0 (Inner), 1 (LeftOuter) ou 2 (RightOuter).
getDisplayName()
String
Renvoie le nom d'affichage des relations.
getRelatedTableId()
String
Renvoie l'identifiant distant de la table associée aux relations ou son nom d'affichage n'est pas indiqué.
getRelatedTableName()
String
Renvoie le nom d'affichage de la table associée des relations.

ai.dataSource.setting

Les paramètres flexibles sont des éléments enfant d'une Source de données Cloud personnalisée. Les paramètres peuvent être statiques dans le cas où une valeur est configurée, ou ils peuvent être paramétrés dans le fait qu'à l'exécution du script, les utilisateurs sont invités à saisir une valeur pour le paramètre. Exemples d'utilisation de paramètres : URL, noms d'utilisateur, mots de passe, plages de dates ou dimensions auxquelles un script peut accéder.
Fonctions
Méthode
Paramètres
Retours
Description
getDisplayName()
String
Renvoie le nom d'affichage des paramètres.
getValue()
Mixte
Renvoie la valeur du paramètre du paramètre. La valeur peut être un type primitif ou un objet complexe - voir Types de valeur ci-dessous.
isBoolean()
Boolean
Renvoie Vrai si le type de paramètre est Booléen.
isDimension()
Boolean
Renvoie Vrai si le type de paramètre est Dimension.
isInteger()
Boolean
Renvoie true (vrai) si le type de paramètre est Integer.
isPassword()
Boolean
Renvoie Vrai si le type de paramètre est Mot de passe.
isPeriodRange()
Boolean
Renvoie true (vrai) si le type de paramètre est PeriodRange.
isText()
Boolean
Renvoie Vrai si le type de paramètre est Texte.
Exemple
//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();
Types de valeur
La fonction getValue() de chaque paramètre peut renvoyer un type primitif ou un objet complexe.
Paramètres booléens :
getValue() renvoie la valeur booléenne.
Paramètres du texte :
getValue() renvoie la valeur sous forme de chaîne.
Paramètres Integer :
getValue() renvoie la valeur sous la forme d'un Integer.
Paramètres du mot de passe :
getValue() renvoie la valeur sous forme de chaîne.
Paramètres de plage de périodes :
getValue() renvoie la valeur sous forme d'objet complexe. Cet objet est défini comme suit :
Méthode
Paramètres
Retours
Description
getFromPeriod()
String
Renvoie une chaîne définissant la représentation interne de l'écriture résolue
Adaptive Planning
Période de début qui peut être utilisée pour passer aux appels de la méthode ai.calendar. Ex. "3152|520161110000"
getToPeriod()
String
Renvoie une chaîne définissant la représentation interne de l'écriture résolue
Adaptive Planning
Période de fin qui peut être utilisée pour passer aux appels de la méthode ai.calendar. Ex. "3152|520161110000"
getFromPeriodStartDateTime()
String
Renvoie une représentation de chaîne de date/heure de la date/heure de début de la période de début, exprimée en heure locale. Ex. "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
Renvoie une représentation de la date et de l'heure de fin de la Période de début, exprimée en heure locale. Ex. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
Renvoie une représentation de chaîne de date/heure de la date/heure de début de la période de fin, exprimée en heure locale. Ex. "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
Renvoie une représentation de la date et de l'heure de fin de la période de fin, exprimée en heure locale. Ex. "2016-07-01T00:00:00+10:00"
Exemple
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 }

Paramètres de la dimension

getValue() renvoie la valeur sous forme d'objet complexe. Cet objet est défini comme suit :
Méthode
Paramètres
Retours
Description
getDimensionName()
String
Renvoie le nom de la dimension défini dans la valeur.
getValueName()
Mixte
Renvoie le nom du membre de dimension défini dans la valeur.
Exemple
//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

Pendant l'exécution du script, les paramètres obligatoires valides invitent un utilisateur à fournir des valeurs. Ces valeurs sont alors accessibles dans les scripts. Les paramètres obligatoires peuvent être créés pendant importStructure.
Pendant ImportData, seuls les paramètres obligatoires configurés avec l'option setForDataImport(true) sont accessibles dans le script.
Fonctions
Méthode
Paramètres
Retours
Description
getId()
String
Renvoie l'identifiant distant du paramètre obligatoire.
getValue()
Mixte
Renvoie la valeur du paramètre du paramètre obligatoire. La valeur peut être un type primitif ou un objet complexe - voir Types de valeur ci-dessous.
isBoolean()
Boolean
Renvoie le résultat "vrai" si le type du paramètre obligatoire est Booléen.
isDimension()
Boolean
Renvoie Vrai si le type du paramètre obligatoire est Dimension.
isInteger()
Boolean
Renvoie true (vrai) si le type du paramètre obligatoire est Integer.
isPassword()
Boolean
Renvoie Vrai si le type du paramètre obligatoire est Mot de passe.
isPeriodRange()
Boolean
Renvoie true (vrai) si le type du paramètre obligatoire est PeriodRange.
isText()
Boolean
Renvoie true (vrai) si le type du paramètre obligatoire est Texte.
Types de valeur
La fonction getValue() de chaque paramètre obligatoire peut renvoyer un type primitif ou un objet complexe.
Paramètres booléens obligatoires
getValue() renvoie la valeur booléenne.
Paramètres de texte obligatoire
getValue() renvoie la valeur value sous forme de chaîne.
Paramètres obligatoires - Entier
getValue() renvoie la valeur sous forme d'entier.
Paramètres de mot de passe obligatoire
getValue() renvoie la valeur value sous forme de chaîne.
Paramètres obligatoires de la fourchette de périodes
getValue() renvoie la valeur sous forme d'objet complexe. Cet objet est défini comme suit :
Méthode
Paramètres
Retours
Description
getFromPeriod()
String
Renvoie une chaîne définissant le statut résolu
Adaptive Planning
Période de début. Ex. "Mois y2016 M1"
getToPeriod()
String
Renvoie une chaîne définissant le statut résolu
Adaptive Planning
Période de fin. Ex. "Mois y2016 M1"
getFromPeriodStartDateTime()
String
Renvoie une représentation de chaîne de date/heure de la date/heure de début de la période de début, exprimée en heure locale. Ex. "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
Renvoie une représentation de la date et de l'heure de fin de la Période de début, exprimée en heure locale. Ex. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
Renvoie une représentation de chaîne de date/heure de la date/heure de début de la période de fin, exprimée en heure locale. Ex. "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
Renvoie une représentation de la date et de l'heure de fin de la période de fin, exprimée en heure locale. Ex. "2016-07-01T00:00:00+10:00"
Paramètres de la dimension
getValue() renvoie la valeur sous forme d'objet complexe. Cet objet est défini comme suit :
Méthode
Paramètres
Retours
Description
getDimensionName()
String
Renvoie le nom de la dimension défini dans la valeur.
getValueName()
Mixte
Renvoie le nom du membre de dimension défini dans la valeur.