Passa al contenuto principale
Adaptive Planning
Ultimo aggiornamento: 2023-06-23
ai.dataSource

ai.dataSource

​L'origine dati contiene impostazioni e tabelle.

Funzioni

Metodo
Parametri
Resi
Descrizione
getTables()
Array<ai.dataSource.table>
Restituisce un elenco di tabelle importate.
getTable( tableId )
tableId : ID remoto stringa della tabella
ai.dataSource.table
Restituisce la tabella con l'ID tabella richiesto. Restituisce null se non viene trovata alcuna tabella.
getSettings()
Array<ai.dataSource.setting>
Restituisce tutte le impostazioni flessibili.
getSetting( displayName )
displayName : String Nome dell'impostazione
ai.dataSource.setting
Restituisce un'impostazione flessibile in base al nome visualizzato
Esempio
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

Metodo
Parametri
Resi
Descrizione
getColumnByDisplayName( name )
name : String Nome visualizzato della colonna
ai.dataSource.column
Trova una colonna in base al nome visualizzato. Restituisce null se non è stata trovata alcuna colonna.
getColumnById( id )
id : ID remoto stringa della colonna
ai.dataSource.column
Trova una colonna in base al relativo ID remoto. Restituisce null se non è stata trovata alcuna colonna.
getColumns()
Array<ai.dataSource.column>
Restituisce tutte le colonne figlio abilitate per l'importazione dei dati.
getDisplayName()
String
Restituisce il nome visualizzato della tabella.
getId()
String
Restituisce l'ID remoto della tabella o il nome visualizzato se non è stato specificato alcun ID remoto.
getLastImported()
String
Restituisce una stringa che identifica l'ultima importazione della tabella.
getRelationships()
Array<ai.dataSource.relationship>
Restituisce tutte le relazioni in cui questa tabella è la tabella principale della relazione.
getRequiredParameters()
Array<ai.dataSource.table.requiredParameter>
Restituisce tutti i parametri obbligatori della tabella e i relativi valori.
getRequiredParameter( id )
id : ID remoto stringa del parametro obbligatorio definito durante l'importazione della struttura
ai.dataSource.table.requiredParameter
Restituisce un parametro obbligatorio della tabella in base al relativo ID remoto.
Esempio
//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

Metodo
Parametri
Resi
Descrizione
getColumnType()
String
Restituisce il tipo di colonna. Il valore è "DateTimeColumn", "IntegerColumn", "FloatColumn", "BooleanColumn" o "TextColumn".
getDisplayName()
String
Restituisce il nome visualizzato delle colonne.
getDisplayOrder()
String
Restituisce l'ordine di visualizzazione delle colonne.
getId()
String
Restituisce l'ID remoto delle colonne o il nome visualizzato non è stato specificato un ID remoto.
getIncludeByDefault()
Booleano
Restituisce true se la colonna è inclusa nell'importazione dei dati.
getIncludeInKey()
Booleano
Restituisce true se la colonna fa parte della chiave della tabella. Le colonne chiave non consentono valori Null.
getLength()
Intero
Nota: solo per TextColumns. Restituisce la lunghezza massima dei valori contenuti in un oggetto TextColumn.
getMandatoryForImports()
Vero
Restituisce true se la colonna deve far parte dell'importazione dei dati.
getNonFilterable()
Vero
Restituisce true se la colonna non può essere utilizzata come parte di un filtro SQL (istruzione WHERE).
getRemoteColumnType()
String
Restituisce il tipo di colonna remota delle colonne come definito nello script della struttura di importazione.
Esempio
//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

Funzioni
Metodo
Parametri
Resi
Descrizione
getJoinExpression()
String
Restituisce l'SQL di archiviazione delle espressioni delle relazioni, ad es 'P.Column123 = R.Column321'.
getJoinType()
Int
Restituisce il tipo di join delle relazioni. I valori sono 0 (Inner), 1 (LeftOuter) o 2 (RightOuter).
getDisplayName()
String
Restituisce il nome visualizzato delle relazioni.
getRelatedTableId()
String
Restituisce l'ID remoto della tabella correlata delle relazioni o il nome visualizzato non è stato specificato.
getRelatedTableName()
String
Restituisce il nome visualizzato della tabella correlata delle relazioni.

ai.dataSource.setting

Le impostazioni flessibili sono elementi figlio di un'origine dati cloud personalizzata. Le impostazioni possono essere statiche in quanto è configurato un valore oppure possono essere parametrizzate in quanto in fase di esecuzione dello script, agli utenti viene richiesto di immettere un valore per l'impostazione. Esempi di impostazioni di utilizzo sono URL, nomi utente, password, intervalli di date o dimensioni a cui uno script può accedere.
Funzioni
Metodo
Parametri
Resi
Descrizione
getDisplayName()
String
Restituisce il nome visualizzato delle impostazioni.
getValue()
Misto
Restituisce il valore del parametro dell'impostazione. Il valore può essere un tipo primitivo o un oggetto complesso. Consultare Tipi valore di seguito.
isBoolean()
Booleano
Restituisce true se il tipo di impostazione è Booleano.
isDimension()
Booleano
Restituisce true se il tipo di impostazione è Dimensione.
isInteger()
Booleano
Restituisce true se il tipo di impostazione è Intero.
isPassword()
Booleano
Restituisce true se il tipo di impostazione è Password.
isPeriodRange()
Booleano
Restituisce true se il tipo di impostazione è PeriodRange.
isText()
Booleano
Restituisce true se il tipo di impostazione è Testo.
Esempio
//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();
Tipi valore
La funzione getValue() di ogni impostazione può restituire un tipo primitivo o un oggetto complesso.
Impostazioni booleane:
getValue() restituisce il valore come valore booleano.
Impostazioni testo:
getValue() restituisce il valore come String.
Impostazioni intero:
getValue() restituisce il valore come intero.
Impostazioni password:
getValue() restituisce il valore come String.
Impostazioni intervallo periodo:
getValue() restituisce il valore come oggetto complesso. Questo oggetto è definito come segue:
Metodo
Parametri
Resi
Descrizione
getFromPeriod()
String
Restituisce una stringa che definisce la rappresentazione interna di risolto
Adaptive Planning
Da Periodo che può essere utilizzato per passare alle chiamate del metodo ai.calendar. Ad es "3152|5201611100000"
getToPeriod()
String
Restituisce una stringa che definisce la rappresentazione interna di risolto
Adaptive Planning
A Periodo che può essere utilizzato per passare alle chiamate del metodo ai.calendar. Ad es "3152|5201611100000"
getFromPeriodStartDateTime()
String
Restituisce una rappresentazione in formato datetime della data e ora inizio periodo Da, espressa in ora locale. Ad es "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
Restituisce una rappresentazione di stringa datetime del valore datetime di fine periodo Da, espresso in ora locale. Ad es "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
Restituisce una rappresentazione di stringa datetime del valore datetime di inizio periodo A, espresso in ora locale. Ad es "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
Restituisce una rappresentazione in formato datetime del valore datetime di fine periodo A, espresso in ora locale. Ad es "2016-07-01T00:00:00+10:00"
Esempio
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 }

Impostazioni delle dimensioni

getValue() restituisce il valore come oggetto complesso. Questo oggetto è definito come segue:
Metodo
Parametri
Resi
Descrizione
getDimensionName()
String
Restituisce il nome della Dimensione definita nel valore.
getValueName()
Misto
Restituisce il nome del membro dimensione definito nel valore.
Esempio
//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 l'esecuzione dello script, i parametri obbligatori validi richiedono all'utente di fornire valori. Questi valori sono quindi accessibili negli script. I parametri obbligatori possono essere creati durante importStructure.
Durante ImportData, solo i parametri obbligatori configurabili come setForDataImport(true) sono accessibili nello script.
Funzioni
Metodo
Parametri
Resi
Descrizione
getId()
String
Restituisce l'ID remoto del parametro obbligatorio.
getValue()
Misto
Restituisce il valore del parametro del parametro obbligatorio. Il valore può essere un tipo primitivo o un oggetto complesso. Consultare Tipi valore di seguito.
isBoolean()
Booleano
Restituisce true se il tipo del parametro obbligatorio è Booleano.
isDimension()
Booleano
Restituisce true se il tipo di parametro obbligatorio è Dimensione.
isInteger()
Booleano
Restituisce true se il tipo del parametro obbligatorio è Intero.
isPassword()
Booleano
Restituisce true se il tipo di parametro obbligatorio è Password.
isPeriodRange()
Booleano
Restituisce true se il tipo di parametro obbligatorio è PeriodRange.
isText()
Booleano
Restituisce true se il tipo di parametro obbligatorio è Testo.
Tipi valore
La funzione getValue() di ogni parametro obbligatorio può restituire un tipo primitivo o un oggetto complesso.
Parametri booleani obbligatori
getValue() restituisce il valore come valore booleano.
Parametri obbligatori di testo
getValue() restituisce il valore come String.
Parametri interi obbligatori
getValue() restituisce il valore come Intero.
Password obbligatoria
getValue() restituisce il valore come String.
Parametri obbligatori per intervallo di tempo
getValue() restituisce il valore come oggetto complesso. Questo oggetto è definito come segue:
Metodo
Parametri
Resi
Descrizione
getFromPeriod()
String
Restituisce una stringa che definisce l'elemento risolto
Adaptive Planning
Dal periodo Ad es "Mese y2016 M1"
getToPeriod()
String
Restituisce una stringa che definisce l'elemento risolto
Adaptive Planning
Al periodo Ad es "Mese y2016 M1"
getFromPeriodStartDateTime()
String
Restituisce una rappresentazione in formato datetime della data e ora inizio periodo Da, espressa in ora locale. Ad es "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
Restituisce una rappresentazione di stringa datetime del valore datetime di fine periodo Da, espresso in ora locale. Ad es "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
Restituisce una rappresentazione di stringa datetime del valore datetime di inizio periodo A, espresso in ora locale. Ad es "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
Restituisce una rappresentazione in formato datetime del valore datetime di fine periodo A, espresso in ora locale. Ad es "2016-07-01T00:00:00+10:00"
Impostazioni delle dimensioni
getValue() restituisce il valore come oggetto complesso. Questo oggetto è definito come segue:
Metodo
Parametri
Resi
Descrizione
getDimensionName()
String
Restituisce il nome della Dimensione definita nel valore.
getValueName()
Misto
Restituisce il nome del membro dimensione definito nel valore.