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
- MetodoParametriResiDescrizionegetJoinExpression()StringRestituisce l'SQL di archiviazione delle espressioni delle relazioni, ad es 'P.Column123 = R.Column321'.getJoinType()IntRestituisce il tipo di join delle relazioni. I valori sono 0 (Inner), 1 (LeftOuter) o 2 (RightOuter).getDisplayName()StringRestituisce il nome visualizzato delle relazioni.getRelatedTableId()StringRestituisce l'ID remoto della tabella correlata delle relazioni o il nome visualizzato non è stato specificato.getRelatedTableName()StringRestituisce 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
- MetodoParametriResiDescrizionegetDisplayName()StringRestituisce il nome visualizzato delle impostazioni.getValue()MistoRestituisce il valore del parametro dell'impostazione. Il valore può essere un tipo primitivo o un oggetto complesso. Consultare Tipi valore di seguito.isBoolean()BooleanoRestituisce true se il tipo di impostazione è Booleano.isDimension()BooleanoRestituisce true se il tipo di impostazione è Dimensione.isInteger()BooleanoRestituisce true se il tipo di impostazione è Intero.isPassword()BooleanoRestituisce true se il tipo di impostazione è Password.isPeriodRange()BooleanoRestituisce true se il tipo di impostazione è PeriodRange.isText()BooleanoRestituisce 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:MetodoParametriResiDescrizionegetFromPeriod()StringRestituisce una stringa che definisce la rappresentazione interna di risoltoAdaptive PlanningDa Periodo che può essere utilizzato per passare alle chiamate del metodo ai.calendar. Ad es "3152|5201611100000"getToPeriod()StringRestituisce una stringa che definisce la rappresentazione interna di risoltoAdaptive PlanningA Periodo che può essere utilizzato per passare alle chiamate del metodo ai.calendar. Ad es "3152|5201611100000"getFromPeriodStartDateTime()StringRestituisce 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()StringRestituisce 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()StringRestituisce 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()StringRestituisce 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
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
- MetodoParametriResiDescrizionegetId()StringRestituisce l'ID remoto del parametro obbligatorio.getValue()MistoRestituisce il valore del parametro del parametro obbligatorio. Il valore può essere un tipo primitivo o un oggetto complesso. Consultare Tipi valore di seguito.isBoolean()BooleanoRestituisce true se il tipo del parametro obbligatorio è Booleano.isDimension()BooleanoRestituisce true se il tipo di parametro obbligatorio è Dimensione.isInteger()BooleanoRestituisce true se il tipo del parametro obbligatorio è Intero.isPassword()BooleanoRestituisce true se il tipo di parametro obbligatorio è Password.isPeriodRange()BooleanoRestituisce true se il tipo di parametro obbligatorio è PeriodRange.isText()BooleanoRestituisce 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 obbligatorigetValue() restituisce il valore come valore booleano.Parametri obbligatori di testogetValue() restituisce il valore come String.Parametri interi obbligatorigetValue() restituisce il valore come Intero.Password obbligatoriagetValue() restituisce il valore come String.Parametri obbligatori per intervallo di tempogetValue() restituisce il valore come oggetto complesso. Questo oggetto è definito come segue:MetodoParametriResiDescrizionegetFromPeriod()StringRestituisce una stringa che definisce l'elemento risoltoAdaptive PlanningDal periodo Ad es "Mese y2016 M1"getToPeriod()StringRestituisce una stringa che definisce l'elemento risoltoAdaptive PlanningAl periodo Ad es "Mese y2016 M1"getFromPeriodStartDateTime()StringRestituisce 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()StringRestituisce 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()StringRestituisce 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()StringRestituisce 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:MetodoParametriResiDescrizionegetDimensionName()StringRestituisce il nome della Dimensione definita nel valore.getValueName()MistoRestituisce il nome del membro dimensione definito nel valore.