Skip to main content
Adaptive Planning
Laatst bijgewerkt: 2023-06-23
ai.dataSource

ai.dataSource

​De gegevensbron bevat instellingen en tabellen.

Functies

Methode
Parameters
Retouren
Omschrijving
getTables()
Array<ai.dataSource.table>
Retourneert een lijst met geïmporteerde tabellen.
getTable( tableId )
tableId : externe tekenreeks-ID van de tabel
ai.dataSource.table
Retourneert de tabel met de aangevraagde tabel-ID. Retourneert null als er geen tabel is gevonden.
getSettings()
Array<ai.dataSource.setting>
Retourneert alle flexibele instellingen.
getSetting( displayName )
displayName: tekenreeksnaam van de instelling
ai.dataSource.setting
Retourneert een flexibele instelling op basis van de weergavenaam
Voorbeeld
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

Methode
Parameters
Retouren
Omschrijving
getColumnByDisplayName( name )
name : Tekenreeks Weergavenaam van de kolom
ai.dataSource.column
Zoekt een kolom op de weergavenaam. Retourneert null als er geen kolom is gevonden.
getColumnById( id )
id: externe tekenreeks-ID van de kolom
ai.dataSource.column
Hiermee wordt een kolom gezocht op basis van de externe ID. Retourneert null als er geen kolom is gevonden.
getColumns()
Array<ai.dataSource.column>
Retourneert alle onderliggende kolommen die zijn ingeschakeld voor gegevensimport.
getDisplayName()
String
Retourneert de weergavenaam van de tabel.
getId()
String
Retourneert de externe ID van deze tabel of de weergavenaam als er geen externe ID is opgegeven.
getLastImported()
String
Retourneert een tekenreeks die aangeeft wanneer de tabel voor het laatst is geïmporteerd.
getRelationships()
Array<ai.dataSource.relationship>
Retourneert alle relaties waarbij deze tabel de primaire tabel van de relatie is.
getRequiredParameters()
Array<ai.dataSource.table.requiredParameter>
Retourneert alle vereiste tabelparameters en de bijbehorende parameterwaarden.
getRequiredParameter( id )
id: externe tekenreeks-ID van de vereiste parameter zoals gedefinieerd tijdens het importeren van structuur
ai.dataSource.table.requiredParameter
Retourneert een vereiste tabelparameter op basis van de externe ID.
Voorbeeld
//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

Methode
Parameters
Retouren
Omschrijving
getColumnType()
String
Retourneert het kolomtype. Waarde is DateTimeColumn, IntegerColumn, FloatColumn, BooleanColumn of TextColumn.
getDisplayName()
String
Retourneert de weergavenaam van de kolommen.
getDisplayOrder()
String
Retourneert de weergavevolgorde van de kolommen.
getId()
String
Retourneert de kolommen - externe ID of weergavenaam is geen externe ID opgegeven.
getIncludeByDefault()
Boole-waarde
Retourneert waar als de kolom is opgenomen in de gegevensimport.
getIncludeInKey()
Boole-waarde
Retourneert waar als de kolom deel uitmaakt van de tabelsleutel. In sleutelkolommen zijn geen null-waarden toegestaan.
getLength()
Geheel getal
Opmerking: alleen voor TextColumns. Retourneert de maximale lengte van waarden in een TextColumn.
getMandatoryForImports()
Waar
Retourneert waar als de kolom deel moet uitmaken van de gegevensimport.
getNonFilterable()
Waar
Retourneert true als de kolom niet kan worden gebruikt als onderdeel van een SQL-filter (WHERE-instructie).
getRemoteColumnType()
String
Retourneert het externe kolomtype van de kolommen, zoals gedefinieerd in het importstructuurscript.
Voorbeeld
//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

Functies
Methode
Parameters
Retouren
Omschrijving
getJoinExpression()
String
Retourneert de SQL-opslag-SQL voor expressies van de relatie, bijv 'P.Column123 = R.Column321'.
getJoinType()
Int
Retourneert het type join van de relatie. De waarden zijn 0 (Inner), 1 (LeftOuter) of 2 (RightOuter).
getDisplayName()
String
Retourneert de weergavenaam van de relatie.
getRelatedTableId()
String
Retourneert de externe ID van de gerelateerde tabel van de relatie, of de weergavenaam is dat er geen externe ID is opgegeven.
getRelatedTableName()
String
Retourneert de weergavenaam van de gerelateerde tabel van de relaties.

ai.dataSource.setting

Flexibele instellingen zijn onderliggende items van een aangepaste cloudgegevensbron. Instellingen kunnen statisch zijn doordat een waarde is geconfigureerd, of ze kunnen worden geparametriseerd doordat gebruikers tijdens het uitvoeren van het script worden gevraagd een waarde voor de instelling in te voeren. Voorbeelden van het gebruik van instellingen zijn URL's, gebruikersnamen, wachtwoorden, datumbereikwaarden of dimensies waartoe een script toegang heeft.
Functies
Methode
Parameters
Retouren
Omschrijving
getDisplayName()
String
Retourneert de weergavenaam van de instellingen.
getValue()
Gecombineerd
Retourneert de waarde van de parameter van de instelling. Waarde kan een primitief type of een complex object zijn. Zie Waardetypen hieronder.
isBoolean()
Boole-waarde
Retourneert waar als het instellingstype Boole-waarden is.
isDimension()
Boole-waarde
Retourneert true als het instellingstype Dimensie is.
isInteger()
Boole-waarde
Retourneert true als het instellingstype Geheel getal is.
isPassword()
Boole-waarde
Retourneert waar als het instellingstype Wachtwoord is.
isPeriodRange()
Boole-waarde
Retourneert waar als het instellingstype Periodebereik is.
isText()
Boole-waarde
Retourneert waar als het instellingstype Tekst is.
Voorbeeld
//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();
Waardetypen
De functie getValue() van elke instelling kan een primitief type of een complex object retourneren.
Boole-instellingen:
getValue() retourneert de waarde als een Boole-waarde.
Tekstinstellingen:
getValue() retourneert de waarde als een tekenreeks.
Integer-instellingen:
getValue() retourneert de waarde als een geheel getal.
Wachtwoordinstellingen:
getValue() retourneert de waarde als een tekenreeks.
Instellingen periodebereik:
getValue() retourneert de waarde als een complex object. Dit object is als volgt gedefinieerd:
Methode
Parameters
Retouren
Omschrijving
getFromPeriod()
String
Retourneert een tekenreeks die de interne weergave van opgelost definieert
Adaptive Planning
Van-periode die kan worden gebruikt om door te geven aan de ai.calendar-methodeaanroepen. Bijv. "3152|5201611100000"
getToPeriod()
String
Retourneert een tekenreeks die de interne weergave van opgelost definieert
Adaptive Planning
Naar Periode die kan worden gebruikt om de methodeaanroepen ai.calendar door te geven. Bijv. "3152|5201611100000"
getFromPeriodStartDateTime()
String
Retourneert een datum/tijd-tekenreeksweergave van de begindatum/-tijd van de Van-periode, uitgedrukt in lokale tijd. Bijv. "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
Retourneert een datum/tijd-tekenreeksweergave van de einddatum/-tijd van de Van-periode, uitgedrukt in lokale tijd. Bijv. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
Retourneert een datetime-tekenreeksweergave van de begindatum en -tijd van de T/m-periode, uitgedrukt in lokale tijd. Bijv. "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
Retourneert een datetime-tekenreeksweergave van de einddatum/-tijd van de T/m-periode, uitgedrukt in lokale tijd. Bijv. "2016-07-01T00:00:00+10:00"
Voorbeeld
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 }

Dimensie-instellingen

getValue() retourneert de waarde als een complex object. Dit object is als volgt gedefinieerd:
Methode
Parameters
Retouren
Omschrijving
getDimensionName()
String
Retourneert de naam van de dimensie die in de waarde is gedefinieerd.
getValueName()
Gecombineerd
Retourneert de naam van het dimensielid dat in de waarde is gedefinieerd.
Voorbeeld
//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

Tijdens de uitvoering van het script wordt een gebruiker door geldige Vereiste parameters gevraagd waarden op te geven. Deze waarden zijn vervolgens toegankelijk in scripts. Vereiste parameters kunnen worden gemaakt tijdens importStructure.
Tijdens ImportData zijn alleen vereiste parameters die kunnen worden geconfigureerd als setForDataImport(true) toegankelijk in het script.
Functies
Methode
Parameters
Retouren
Omschrijving
getId()
String
Retourneert de externe ID van de vereiste parameter.
getValue()
Gecombineerd
Retourneert de waarde van de vereiste parameter van de parameter. Waarde kan een primitief type of een complex object zijn. Zie Waardetypen hieronder.
isBoolean()
Boole-waarde
Retourneert true als het type van de vereiste parameter een Boole-waarde is.
isDimension()
Boole-waarde
Retourneert true als het type van de vereiste parameter Dimensie is.
isInteger()
Boole-waarde
Retourneert true als het type van de vereiste parameter een geheel getal is.
isPassword()
Boole-waarde
Retourneert waar als het type van de vereiste parameter Wachtwoord is.
isPeriodRange()
Boole-waarde
Retourneert true als het type van de vereiste parameter Periodebereik is.
isText()
Boole-waarde
Retourneert true als het type van de vereiste parameter Tekst is.
Waardetypen
De functie getValue() van elke vereiste parameter kan een primitief type of een complex object retourneren.
Vereiste Boole-parameters
getValue() retourneert de waarde als een Boole-waarde.
Vereiste parameters voor tekst
getValue() retourneert de waarde als een tekenreeks.
Vereiste parameters met geheel getal
getValue() retourneert de waarde als een geheel getal.
Voor wachtwoord vereiste parameters
getValue() retourneert de waarde als een tekenreeks.
Vereiste parameters periodebereik
getValue() retourneert de waarde als een complex object. Dit object is als volgt gedefinieerd:
Methode
Parameters
Retouren
Omschrijving
getFromPeriod()
String
Retourneert een tekenreeks die de opgeloste definieert
Adaptive Planning
Uit periode. Bijv. 'Maand y2016 M1'
getToPeriod()
String
Retourneert een tekenreeks die de opgeloste definieert
Adaptive Planning
Naar periode. Bijv. 'Maand y2016 M1'
getFromPeriodStartDateTime()
String
Retourneert een datum/tijd-tekenreeksweergave van de begindatum/-tijd van de Van-periode, uitgedrukt in lokale tijd. Bijv. "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
Retourneert een datum/tijd-tekenreeksweergave van de einddatum/-tijd van de Van-periode, uitgedrukt in lokale tijd. Bijv. "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
Retourneert een datetime-tekenreeksweergave van de begindatum en -tijd van de T/m-periode, uitgedrukt in lokale tijd. Bijv. "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
Retourneert een datetime-tekenreeksweergave van de einddatum/-tijd van de T/m-periode, uitgedrukt in lokale tijd. Bijv. "2016-07-01T00:00:00+10:00"
Dimensie-instellingen
getValue() retourneert de waarde als een complex object. Dit object is als volgt gedefinieerd:
Methode
Parameters
Retouren
Omschrijving
getDimensionName()
String
Retourneert de naam van de dimensie die in de waarde is gedefinieerd.
getValueName()
Gecombineerd
Retourneert de naam van het dimensielid dat in de waarde is gedefinieerd.