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 tableaux.

Fonctions

Méthode
Paramètres
Retours
Description
getTables()
Array<ai.dataSource.table>
Renvoie une liste de tables importées.
getTable( tableId )
tableId : Identifiant distant de la table - Chaîne
ai.dataSource.table
Renvoie la table avec l’identifiant de la table demandée. Renvoie nul si aucune table n'est trouvée.
getSettings()
Array<ai.dataSource.setting>
Renvoie tous les paramètres flexibles.
getSetting( displayName )
afficherName : Nom de la chaîne du paramètre
ai.dataSource.setting
Retourne 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 : String Nom d'affichage de la colonne
ai.dataSource.column
Recherche une colonne par son nom d’affichage. Renvoie nul si aucune colonne n'est trouvée.
getColumnById( id )
id : Identifiant distant de la colonne
ai.dataSource.column
Recherche une colonne par son identifiant distant. Renvoie nul si aucune colonne n'est trouvée.
getColumns()
Array<ai.dataSource.column>
Renvoie toutes les colonnes enfants qui ont été activées pour l’importation de données.
getDisplayName()
Chaîne
Renvoie le nom d'affichage du tableau.
getId()
Chaîne
Renvoie l’identifiant distant de cette table ou le nom d’affichage si aucun identifiant distant n’a été précisé.
getLastImported()
Chaîne
Renvoie une chaîne indiquant à quel moment la table a été importée.
getRelationships()
Array<ai.dataSource.relationship>
Renvoie toutes les relations lorsque cette table est la table principale de la relation.
getRequiredParameters()
Array<ai.dataSource.table.requiredParameter>
Renvoie tous les paramètres de tableau obligatoires et leurs valeurs de paramètre.
getRequiredParater( id )
id : Identifiant distant de la chaîne du paramètre obligatoire tel que défini pendant l'importation de la structure
ai.dataSource.table.requiredParameter
Renvoie un paramètre obligatoire de tableau 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()
Chaîne
Renvoie le type de colonne. La valeur est 'DateTimeColumn', 'IntegerColumn', 'FlottColumn', ' BooléenColumn' ou 'TextColumn'.
getDisplayName()
Chaîne
Renvoie le nom d'affichage des colonnes.
getDisplayOrder()
Chaîne
Renvoie l’ordre d’affichage des colonnes.
getId()
Chaîne
Renvoie l’identifiant distant de la colonne ou le nom d’affichage n’a pas d’identifiant distant.
getIncludeByDefault()
Booléen
Renvoie la valeur Vrai si la colonne est incluse dans l'importation des données.
getIncludeInKey()
Booléen
Renvoie la valeur vraie si la colonne fait partie de la clé de la table. Les colonnes clés n'autorisent pas les valeurs nulles.
getLength()
Entier
Note : uniquement pour TextColumns. Renvoie la longueur maximum des valeurs contenues dans une TextColumn.
getMandatoryForImports()
Vrai
Renvoie la valeur Vrai si la colonne doit faire partie de l’importation des données.
getNonFilterable()
Vrai
Renvoie la valeur vraie si la colonne ne peut pas être utilisée dans le cadre d’un filtre SQL (énoncé WHERE).
getRemoteColumnType()
Chaîne
Renvoie le type de colonne distante des colonnes tel que défini dans le script de la structure d’importation.
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()
Chaîne
Renvoie le stockage de l'expression des relations, par exemple SQL 'P.Column123 = R.Column321'.
getJoinType()
Int
Renvoie le type de jointure des liens. Les valeurs sont 0 (Inner), 1 (LeftOuter) ou 2 (RightOuter).
getDisplayName()
Chaîne
Renvoie le nom d’affichage des liens.
getRelatedTableId()
Chaîne
Renvoie l’identifiant distant de la table associée aux relations, ou son nom d’affichage n’est pas un identifiant distant.
getRelatedTableName()
Chaîne
Renvoie le nom d’affichage de la table associée des liens.

ai.dataSource.setting

Les paramètres flexibles sont des éléments enfants d’une source de données infonuagique personnalisée. Les paramètres peuvent être statiques dans le cas où une valeur est configurée ou ils peuvent être paramétrables de manière à ce qu’au moment de l’exécution du script, les utilisateurs soient invités à entrer une valeur pour le paramètre. Les adresses URL, les noms d’utilisateur, les mots de passe, les intervalles de dates ou les dimensions auxquels un script peut accéder sont des exemples d’utilisation du paramètre.
Fonctions
Méthode
Paramètres
Retours
Description
getDisplayName()
Chaîne
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 les types de valeurs ci-dessous.
isBoolean()
Booléen
Renvoie la valeur Vrai si le type de paramètre est Booléen.
isDimension()
Booléen
Renvoie la valeur Vrai si le type de paramètre est Dimension.
isInteger()
Booléen
Renvoie la valeur Vrai si le type de paramètre est Entier.
isPassword()
Booléen
Renvoie la valeur Vrai si le type de paramètre est Mot de passe.
isPeriodRange()
Booléen
Renvoie la valeur vrai si le type de paramètre est PeriodRange.
isText()
Booléen
Renvoie la valeur 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 valeurs
La fonction getValue() de chaque paramètre peut renvoyer un type primitif ou un objet complexe.
Paramètres de type booléen :
getValue() renvoie la valeur sous forme de booléen.
Paramètres de texte :
getValue() renvoie la valeur sous forme de chaîne.
Paramètres Entier :
getValue() renvoie la valeur sous forme d’entier.
Paramètres des mots de passe :
getValue() renvoie la valeur sous forme de chaîne.
Paramètres de la plage de périodes :
getValue() renvoie la valeur sous forme d’objet complexe. Cet objet est défini comme tel :
Méthode
Paramètres
Retours
Description
getFromPeriod()
Chaîne
Renvoie une chaîne définissant la représentation interne d’un processus résolu
Adaptive Planning
Période de début qui peut être utilisée pour passer aux appels de méthode ai.calendar. Ex. « 3152|5201611100 000 »
getToPeriod()
Chaîne
Renvoie une chaîne définissant la représentation interne d’un processus résolu
Adaptive Planning
À la période qui peut être utilisée pour passer aux appels de méthode ai.calendar. Ex. « 3152|5201611100 000 »
getFromPeriodStartDateTime()
Chaîne
Renvoie une représentation sous forme de chaîne de date de la date et de l’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()
Chaîne
Renvoie une représentation sous forme de chaîne de date de la date et de l’heure de fin de la période De, exprimée en heure locale. Ex. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
Chaîne
Renvoie une représentation de chaîne de date/heure de la date de début de la période À, exprimée en heure locale. Ex. « 2016-06-01T00:00:00+10:00 »
getToPeriodEndDateTime()
Chaîne
Renvoie une représentation sous forme de chaîne de date de la date et de l’heure de fin de la période À, 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 dimension

getValue() renvoie la valeur sous forme d’objet complexe. Cet objet est défini comme tel :
Méthode
Paramètres
Retours
Description
getDimensionName()
Chaîne
Renvoie le nom de la dimension définie 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, des paramètres obligatoires valides invitent un utilisateur à fournir des valeurs. Ces valeurs sont ensuite accessibles dans les scripts. Les paramètres obligatoires peuvent être créés pendant l'importation de Structure.
Pendant ImportData, seuls les paramètres obligatoires qui ont été configurables en tant que setForDataImport(true) sont accessibles dans le script.
Fonctions
Méthode
Paramètres
Retours
Description
getId()
Chaîne
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 les types de valeurs ci-dessous.
isBoolean()
Booléen
Renvoie la valeur vraie si le type du paramètre obligatoire est Booléen.
isDimension()
Booléen
Renvoie la valeur Vrai si le type du paramètre obligatoire est Dimension.
isInteger()
Booléen
Renvoie la valeur Vrai si le type du paramètre obligatoire est Entier.
isPassword()
Booléen
Renvoie la valeur Vrai si le type du paramètre obligatoire est Mot de passe.
isPeriodRange()
Booléen
Renvoie la valeur vrai si le type du paramètre obligatoire est PeriodRange.
isText()
Booléen
Renvoie la valeur Vrai si le type du paramètre obligatoire est Texte.
Types de valeurs
La fonction getValue() de chaque paramètre obligatoire peut renvoyer un type primitif ou un objet complexe.
Paramètres obligatoires de type booléen
getValue() renvoie la valeur sous forme de booléen.
Paramètres de texte obligatoires
getValue() renvoie la valeur sous forme de chaîne.
Paramètres obligatoires de valeur entière
getValue() renvoie la valeur sous forme d’entier.
Paramètres obligatoires pour le mot de passe
getValue() renvoie la valeur sous forme de chaîne.
Paramètres obligatoires pour la plage de périodes
getValue() renvoie la valeur sous forme d’objet complexe. Cet objet est défini comme tel :
Méthode
Paramètres
Retours
Description
getFromPeriod()
Chaîne
Renvoie une chaîne définissant la valeur résolue
Adaptive Planning
De la période. Ex. « Mois y2016 M1 »
getToPeriod()
Chaîne
Renvoie une chaîne définissant la valeur résolue
Adaptive Planning
À la période. Ex. « Mois y2016 M1 »
getFromPeriodStartDateTime()
Chaîne
Renvoie une représentation sous forme de chaîne de date de la date et de l’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()
Chaîne
Renvoie une représentation sous forme de chaîne de date de la date et de l’heure de fin de la période De, exprimée en heure locale. Ex. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
Chaîne
Renvoie une représentation de chaîne de date/heure de la date de début de la période À, exprimée en heure locale. Ex. « 2016-06-01T00:00:00+10:00 »
getToPeriodEndDateTime()
Chaîne
Renvoie une représentation sous forme de chaîne de date de la date et de l’heure de fin de la période À, exprimée en heure locale. Ex. "2016-07-01T00:00:00+10:00"
Paramètres de dimension
getValue() renvoie la valeur sous forme d’objet complexe. Cet objet est défini comme tel :
Méthode
Paramètres
Retours
Description
getDimensionName()
Chaîne
Renvoie le nom de la dimension définie dans la valeur.
getValueName()
Mixte
Renvoie le nom du membre de dimension défini dans la valeur.