Zum Hauptinhalt wechseln
Adaptive Planning
Zuletzt aktualisiert: 2023-06-23
ai.dataSource

ai.dataSource

​Die Datenquelle enthält Einstellungen und Tabellen.

Funktionen

Methode
Parameter
Retouren
Beschreibung
getTables()
Array<ai.dataSource.table>
Gibt eine Liste der importierten Tabellen zurück.
getTable(Tabellen-ID)
tableId: Zeichenfolge Remote-ID der Tabelle
ai.dataSource.table
Gibt die Tabelle mit der angeforderten Tabellen-ID zurück. Gibt „null“ zurück, wenn keine Tabelle gefunden wird.
getSettings()
Array<ai.dataSource.setting>
Gibt alle flexiblen Einstellungen zurück.
getSetting(Anzeigename)
displayName: Zeichenfolge Name der Einstellung
ai.dataSource.setting
Gibt eine flexible Einstellung anhand des Anzeigenamens zurück
Beispiel
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
Parameter
Retouren
Beschreibung
getColumnByDisplayName( name)
name: Zeichenfolge Anzeigename der Spalte
ai.dataSource.column
Sucht eine Spalte anhand ihres Anzeigenamens. Gibt „null“ zurück, wenn keine Spalte gefunden wurde.
getColumnById( id )
id: Zeichenfolge Remote-ID der Spalte
ai.dataSource.column
Sucht eine Spalte anhand ihrer Remote-ID. Gibt „null“ zurück, wenn keine Spalte gefunden wurde.
getColumns()
Array<ai.dataSource.column>
Gibt alle untergeordneten Spalten zurück, die für den Datenimport aktiviert wurden.
getDisplayName()
String
Gibt den Anzeigenamen der Tabelle zurück.
getId()
String
Gibt die Remote-ID dieser Tabelle oder den Anzeigenamen zurück, wenn keine Remote-ID angegeben wurde.
getLastImported()
String
Gibt eine Zeichenfolge zurück, die angibt, wann die Tabelle zuletzt importiert wurde.
getRelationships()
Array<ai.dataSource.relationship>
Gibt alle Beziehungen zurück, bei denen diese Tabelle die primäre Tabelle der Beziehung ist.
getRequiredParameters()
Array<ai.dataSource.table.requiredParameter>
Gibt alle erforderlichen Tabellenparameter und deren Parameterwerte zurück.
getRequiredParameter( id)
id: Zeichenfolge Remote-ID des erforderlichen Parameters, wie bei der Aufgabe „Struktur importieren“ definiert
ai.dataSource.table.requiredParameter
Gibt einen erforderlichen Tabellenparameter anhand seiner Remote-ID zurück.
Beispiel
//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
Parameter
Retouren
Beschreibung
getColumnType()
String
Gibt die Spaltenart zurück. Wert ist entweder "DateTimeColumn", "IntegerColumn", "FloatColumn", "BooleanColumn" oder "TextColumn".
getDisplayName()
String
Gibt den Anzeigenamen der Spalten zurück.
getDisplayOrder()
String
Gibt die Anzeigereihenfolge der Spalten zurück.
getId()
String
Gibt die Remote-ID der Spalte zurück oder der Anzeigename ist keine Remote-ID wurde angegeben.
getIncludeByDefault()
Boolesch
Gibt „true“ zurück, wenn die Spalte im Datenimport enthalten ist.
getIncludeInKey()
Boolesch
Gibt „true“ zurück, wenn die Spalte Teil des Tabellenschlüssels ist. Schlüsselspalten erlauben keine Nullwerte.
getLength()
Ganzzahl
Hinweis: Nur für Textspalten. Gibt die maximale Länge von Werten zurück, die in einer TextColumn enthalten sind.
getMandatoryForImports()
Wahr
Gibt „true“ zurück, wenn die Spalte Teil des Datenimports sein muss.
getNonFilterable()
Wahr
Gibt „true“ zurück, wenn die Spalte nicht als Teil eines SQL-Filters verwendet werden kann (Where-Anweisung).
getRemoteColumnType()
String
Gibt die Remote-Spaltenart der Spalten zurück, wie im Skript für den Import der Struktur definiert.
Beispiel
//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

Funktionen
Methode
Parameter
Retouren
Beschreibung
getJoinExpression()
String
Gibt den SQL-Wert für den Ausdruck von Beziehungen zurück, z. B 'P.Column123 = R.Column321'.
getJoinType()
Int
Gibt die Art des Joins der Beziehungen zurück. Die Werte sind entweder 0 (Inner), 1 (LeftOuter) oder 2 (RightOuter).
getDisplayName()
String
Gibt den Anzeigenamen der Beziehungen zurück.
getRelatedTableId()
String
Gibt die Remote-ID der zugehörigen Tabelle der Beziehungen zurück, oder der Anzeigename ist, dass keine Remote-ID angegeben wurde.
getRelatedTableName()
String
Gibt den Anzeigenamen der zugehörigen Tabelle der Beziehungen zurück.

ai.dataSource.setting

Flexible Einstellungen sind untergeordnete Elemente einer benutzerdefinierten Cloud-Datenquelle. Einstellungen können statisch sein, indem ein Wert konfiguriert wird, oder sie können parametrisiert werden, indem Benutzer zur Laufzeit des Skripts aufgefordert werden, einen Wert für die Einstellung einzugeben. Beispiele für die Verwendung von Einstellungen sind URLs, Benutzernamen, Kennwörter, Datumsbereiche oder Dimensionen, auf die ein Skript zugreifen kann.
Funktionen
Methode
Parameter
Retouren
Beschreibung
getDisplayName()
String
Gibt den Anzeigenamen der Einstellungen zurück.
getValue()
Kombination
Gibt den Wert des Parameters der Einstellung zurück. Wert kann eine einfache Art oder ein komplexes Objekt sein - siehe unten Wertarten.
isBoolean()
Boolesch
Gibt „true“ zurück, wenn die Einstellungsart Boolesch ist.
isDimension()
Boolesch
Gibt „true“ zurück, wenn die Einstellungsart „Dimension“ lautet.
isInteger()
Boolesch
Gibt „true“ zurück, wenn die Einstellungsart „Integer“ ist.
isPassword()
Boolesch
Gibt „true“ zurück, wenn die Einstellungsart „Kennwort“ lautet.
isPeriodRange()
Boolesch
Gibt „true“ zurück, wenn die Einstellungsart PeriodRange ist.
isText()
Boolesch
Gibt „true“ zurück, wenn die Einstellungsart Text ist.
Beispiel
//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();
Wertarten
Die Funktion getValue() jeder Einstellung kann einen einfachen Typ oder ein komplexes Objekt zurückgeben.
Boolesche Einstellungen:
getValue() gibt den Wert als Boolesch zurück.
Texteinstellungen:
getValue() gibt den Wert als Zeichenfolge zurück.
Ganzzahl-Einstellungen:
getValue() gibt den Wert als Ganzzahl zurück.
Kennworteinstellungen:
getValue() gibt den Wert als Zeichenfolge zurück.
Periodenbereichseinstellungen:
getValue() gibt den Wert als komplexes Objekt zurück. Dieses Objekt ist wie folgt definiert:
Methode
Parameter
Retouren
Beschreibung
getFromPeriod()
String
Gibt eine Zeichenfolge zurück, die die interne Darstellung von „aufgelöst“ definiert
Adaptive Planning
From Period, der verwendet werden kann, um an die Methodenaufrufe ai.calendar zu übergeben. z. B "3152|5201611100000"
getToPeriod()
String
Gibt eine Zeichenfolge zurück, die die interne Darstellung von „aufgelöst“ definiert
Adaptive Planning
Bis Periode, die zur Übergabe an die Methodenaufrufe ai.calendar verwendet werden kann. z. B "3152|5201611100000"
getFromPeriodStartDateTime()
String
Gibt eine DATETIME-Zeichenfolgendarstellung des Startdatums der Periode zurück, das in lokaler Zeit angegeben wird. z. B "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
Gibt eine DATETIME-Zeichenfolgendarstellung des Enddatums der Von Periode zurück, angegeben in lokaler Zeit. z. B "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
Gibt eine DATETIME-Zeichenfolgendarstellung des Startdatums/der Zeitperiode für Bis Periode zurück, angegeben in lokaler Zeit. z. B "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
Gibt eine DATETIME-Zeichenfolgendarstellung des Enddatums der Bis Periode zurück, angegeben in lokaler Zeit. z. B "2016-07-01T00:00:00+10:00"
Beispiel
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 }

Dimensionseinstellungen

getValue() gibt den Wert als komplexes Objekt zurück. Dieses Objekt ist wie folgt definiert:
Methode
Parameter
Retouren
Beschreibung
getDimensionName()
String
Gibt den Namen der im Wert definierten Dimension zurück.
getValueName()
Kombination
Gibt den Namen des im Wert definierten Dimensionselements zurück.
Beispiel
//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

Während der Skriptausführung fordern gültige Erforderliche Parameter einen Benutzer auf, Werte anzugeben. Auf diese Werte kann dann in Skripten zugegriffen werden. Erforderliche Parameter können während der importStructure erstellt werden.
Während des Imports von Daten kann im Skript nur auf erforderliche Parameter zugegriffen werden, die als setForDataImport(true) konfigurierbar sind.
Funktionen
Methode
Parameter
Retouren
Beschreibung
getId()
String
Gibt die Remote-ID des erforderlichen Parameters zurück.
getValue()
Kombination
Gibt den Wert des Parameters des erforderlichen Parameters zurück. Wert kann eine einfache Art oder ein komplexes Objekt sein - siehe unten Wertarten.
isBoolean()
Boolesch
Gibt "true" zurück, wenn der erforderliche Parameter einen booleschen Wert hat.
isDimension()
Boolesch
Gibt „true“ zurück, wenn die Art des erforderlichen Parameters „Dimension“ ist.
isInteger()
Boolesch
Gibt „true“ zurück, wenn die Art des erforderlichen Parameters „Integer“ ist.
isPassword()
Boolesch
Gibt „true“ zurück, wenn der erforderliche Parameter „Kennwort“ hat.
isPeriodRange()
Boolesch
Gibt „true“ zurück, wenn der erforderliche Parameter PeriodRange hat.
isText()
Boolesch
Gibt „true“ zurück, wenn die Art des erforderlichen Parameters Text ist.
Wertarten
Die Funktion getValue() jedes erforderlichen Parameters kann einen einfachen Typ oder ein komplexes Objekt zurückgeben.
Erforderliche boolesche Parameter
getValue() gibt den Wert als Boolesch zurück.
Text Erforderliche Parameter
getValue() gibt den Wert als Zeichenfolge zurück.
Ganzzahl - Erforderliche Parameter
getValue() gibt den Wert als Ganzzahl zurück.
Kennwort erforderlich
getValue() gibt den Wert als Zeichenfolge zurück.
Erforderliche Parameter für Periodenbereich
getValue() gibt den Wert als komplexes Objekt zurück. Dieses Objekt ist wie folgt definiert:
Methode
Parameter
Retouren
Beschreibung
getFromPeriod()
String
Gibt eine Zeichenfolge zurück, die das aufgelöste Element definiert
Adaptive Planning
Von Periode z. B "Monat y2016 M1"
getToPeriod()
String
Gibt eine Zeichenfolge zurück, die das aufgelöste Element definiert
Adaptive Planning
In Periode z. B "Monat y2016 M1"
getFromPeriodStartDateTime()
String
Gibt eine DATETIME-Zeichenfolgendarstellung des Startdatums der Periode zurück, das in lokaler Zeit angegeben wird. z. B "2016-01-01T00:00:00+10:00"
getFromPeriodEndDateTime()
String
Gibt eine DATETIME-Zeichenfolgendarstellung des Enddatums der Von Periode zurück, angegeben in lokaler Zeit. z. B "2016-02-01T00:00:00+10:00"
getToPeriodStartDateTime()
String
Gibt eine DATETIME-Zeichenfolgendarstellung des Startdatums/der Zeitperiode für Bis Periode zurück, angegeben in lokaler Zeit. z. B "2016-06-01T00:00:00+10:00"
getToPeriodEndDateTime()
String
Gibt eine DATETIME-Zeichenfolgendarstellung des Enddatums der Bis Periode zurück, angegeben in lokaler Zeit. z. B "2016-07-01T00:00:00+10:00"
Dimensionseinstellungen
getValue() gibt den Wert als komplexes Objekt zurück. Dieses Objekt ist wie folgt definiert:
Methode
Parameter
Retouren
Beschreibung
getDimensionName()
String
Gibt den Namen der im Wert definierten Dimension zurück.
getValueName()
Kombination
Gibt den Namen des im Wert definierten Dimensionselements zurück.