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
- MethodeParametersRetourenOmschrijvinggetJoinExpression()StringRetourneert de SQL-opslag-SQL voor expressies van de relatie, bijv 'P.Column123 = R.Column321'.getJoinType()IntRetourneert het type join van de relatie. De waarden zijn 0 (Inner), 1 (LeftOuter) of 2 (RightOuter).getDisplayName()StringRetourneert de weergavenaam van de relatie.getRelatedTableId()StringRetourneert de externe ID van de gerelateerde tabel van de relatie, of de weergavenaam is dat er geen externe ID is opgegeven.getRelatedTableName()StringRetourneert 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
- MethodeParametersRetourenOmschrijvinggetDisplayName()StringRetourneert de weergavenaam van de instellingen.getValue()GecombineerdRetourneert de waarde van de parameter van de instelling. Waarde kan een primitief type of een complex object zijn. Zie Waardetypen hieronder.isBoolean()Boole-waardeRetourneert waar als het instellingstype Boole-waarden is.isDimension()Boole-waardeRetourneert true als het instellingstype Dimensie is.isInteger()Boole-waardeRetourneert true als het instellingstype Geheel getal is.isPassword()Boole-waardeRetourneert waar als het instellingstype Wachtwoord is.isPeriodRange()Boole-waardeRetourneert waar als het instellingstype Periodebereik is.isText()Boole-waardeRetourneert 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:MethodeParametersRetourenOmschrijvinggetFromPeriod()StringRetourneert een tekenreeks die de interne weergave van opgelost definieertAdaptive PlanningVan-periode die kan worden gebruikt om door te geven aan de ai.calendar-methodeaanroepen. Bijv. "3152|5201611100000"getToPeriod()StringRetourneert een tekenreeks die de interne weergave van opgelost definieertAdaptive PlanningNaar Periode die kan worden gebruikt om de methodeaanroepen ai.calendar door te geven. Bijv. "3152|5201611100000"getFromPeriodStartDateTime()StringRetourneert 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()StringRetourneert 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()StringRetourneert 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()StringRetourneert 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
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
- MethodeParametersRetourenOmschrijvinggetId()StringRetourneert de externe ID van de vereiste parameter.getValue()GecombineerdRetourneert de waarde van de vereiste parameter van de parameter. Waarde kan een primitief type of een complex object zijn. Zie Waardetypen hieronder.isBoolean()Boole-waardeRetourneert true als het type van de vereiste parameter een Boole-waarde is.isDimension()Boole-waardeRetourneert true als het type van de vereiste parameter Dimensie is.isInteger()Boole-waardeRetourneert true als het type van de vereiste parameter een geheel getal is.isPassword()Boole-waardeRetourneert waar als het type van de vereiste parameter Wachtwoord is.isPeriodRange()Boole-waardeRetourneert true als het type van de vereiste parameter Periodebereik is.isText()Boole-waardeRetourneert 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-parametersgetValue() retourneert de waarde als een Boole-waarde.Vereiste parameters voor tekstgetValue() retourneert de waarde als een tekenreeks.Vereiste parameters met geheel getalgetValue() retourneert de waarde als een geheel getal.Voor wachtwoord vereiste parametersgetValue() retourneert de waarde als een tekenreeks.Vereiste parameters periodebereikgetValue() retourneert de waarde als een complex object. Dit object is als volgt gedefinieerd:MethodeParametersRetourenOmschrijvinggetFromPeriod()StringRetourneert een tekenreeks die de opgeloste definieertAdaptive PlanningUit periode. Bijv. 'Maand y2016 M1'getToPeriod()StringRetourneert een tekenreeks die de opgeloste definieertAdaptive PlanningNaar periode. Bijv. 'Maand y2016 M1'getFromPeriodStartDateTime()StringRetourneert 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()StringRetourneert 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()StringRetourneert 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()StringRetourneert 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:MethodeParametersRetourenOmschrijvinggetDimensionName()StringRetourneert de naam van de dimensie die in de waarde is gedefinieerd.getValueName()GecombineerdRetourneert de naam van het dimensielid dat in de waarde is gedefinieerd.