Jedox / PALO OLAP Functions

image_pdfimage_print

1 Introduction

Jedox Software includes standard worksheet functions, subset filter functions (labeled with 1)), and
array functions (labeled with 2)). After the description of all PALO functions you can find a list of
possible parameters and general information on subset filter functions and array functions.

2 Description of PALO functions

PALO.AFILTER() 1)
This filter removes elements that do not match defined attribute patterns.

Argument Form Description
Filt. definition Text Array Array containing the definition of the attribute patterns. Supported operators for numeric criteria are: <, >, = .
Type Integer, TRUE, FALSE Defines the filter behavior. Possible values are:
0, FALSE, or blank: Filter uses wildcard patterns for search, case sensitive.
1 or TRUE: Filter uses PERL regular expressions, case sensitive.
2: Filter uses PERL regular expressions, case insensitive.
3: Filter uses wildcard patterns for search, case insensitive.

The attribute pattern passed as first argument is an array that contains information about the filter expressions to be applied for each attribute. It has to consist of at least two rows: the first row specifying at least one existing attribute, and the second row consisting of a filtering expression for that attribute. Each column in the array represents one attribute, plus filtering expressions. Expressions for various attributes in one row are combined with the logical operator AND.
You can include more than one row with filtering expressions in the array. The filters are then combined using the logical (inclusive) operator OR, meaning that elements matching either the expression from the first, or (also) the second row will be included.

For example, the array on the right (two rows, two columns) defines a filter on a dimension with attributes “Name” and (numeric) “Price”, and includes all elements in the result where the Name includes the string “Off-Road Bike” and the Price is greater than 500:

Note: For formulas you must use straight quotation marks!

 

{"Name","Price";"Off-Road Bike",">500"}

A logical operator AND for two filter expressions on the same attribute can be achieved by setting multiple columns for the attribute in the array. The array on the right returns all elements where the Price attribute is greater than 500 AND smaller than 1000:

{"Price","Price";">500","<1000"}

A wildcard pattern is a sequence of characters that defines a search pattern and only “*” and “?” can be used as wildcards.

If PERL regular expressions are used, signs such as “[” or “$” have an impact.

Examples of PERL regular expressions:
“Jan|Feb|Nov” to match the attributes “Jan”, “Feb”, and “Nov”.
“^J” to match all attributes starting with a “J”.
“[s,d]” to match all attributes with “s” or “d” in the attribute name.
“n$” to match all attributes ending with “n”.
“X*” to match all attributes starting with X and followed by an arbitrary number of characters.
“XP+”  to match all attributes in which “XP” occur at least once but possibly several times.

PALO.AGR.CHILDREN()
This is a helper function for the statistical functions PALO.DATA.AVG and PALO.DATA.CNT.

PALO.AGR.LEAVES()
This is a helper function for the statistical functions PALO.DATA.AVG and PALO.DATA.CNT.

PALO.AGR.SELF()
This is a helper function for the statistical functions PALO.DATA.AVG and PALO.DATA.CNT.

PALO.CONNECTIONUSER(Server)
Available in Jedox Excel Add-in and Jedox Web (in Jedox Web this function isn’t displayed in the function wizard).
This function displays the user of the connection “Server”, e.g.:
=PALO.CONNECTIONUSER("localhost")

PALO.COORD()
This is a helper function for some statistical functions. For more information, see PALO.DATA.AVG.

PALO.CUBE_EXISTS(Server/Database, Cubename)
Returns TRUE, if cube exists, else FALSE. E.g.:
=PALO.CUBE_EXISTS("localhost/Demo","Sales")

PALO.CUBE_LIST_DIMENSIONS(Server/Database, Cube)
Returns a list with all dimensions of the specified cube in an area you define in advance, e.g.:
=PALO.CUBE_LIST_DIMENSIONS("localhost/Demo","Sales")

PALO.DATA(Server/Database,Cube, Coordinate1, Coordinate2,… Coordinate16)
Reads the value of the described data cell from the cube, e.g.:
=PALO.DATA("localhost/Demo","Sales","Desktop L","Germany","Oct",2015,"Actual","Units")

PALO.DATA.AVG(Server/Database, Cube, Coordinates, Expandtypes)
Returns the average value of the cells in the specified cell range whose value is not zero, e.g.:
=PALO.DATA.AVG("localhost/Demo","Sales",PALO.COORD("All Products","Europe","Year","2015","Actual","Units"),PALO.EXPANDTYPE(1,4,2))

PALO.EXPANDTYPE() specifies the coordinates of PALO.COORD().
Explanation for PALO.EXPANDTYPE(1,4,2)

1=SELF (All Products) 4=LEAFS (Base cells of Europe: 19 countries)
2=CHILDREN (Children from Year: Qtr.1,Qtr.2,Qtr.3,Qtr.4) Other coordinates have the default value 1 (=SELF)

Calculation: in the specified area, all cells that do not have a zero value will be added and divided by the number of terms of the sum. Exception: if all cell values are 0, then the output is 0.

PALO.DATA.CNT(Server/Database, Cube, Coordinates, Expandtypes)
Returns the number of cells of the specified range whose value is not zero, e.g.:
=PALO.DATA.CNT("localhost/Demo","Sales",PALO.COORD("All Products","Europe","Year","2015","Actual","Units"),PALO.EXPANDTYPE(1,4,2))

For more information about PALO.EXPANDTYPE, see PALO.DATA.AVG.

PALO.DATA.MAX(Server/Database, Cube, Coordinates, Expandtypes)
Returns the maximum of the cells of the specified range of cells whose value is not zero, e.g.:
=PALO.DATA.MAX("localhost/Demo","Sales",PALO.COORD("All Products","Europe","Year","2015","Actual","Units"),PALO.EXPANDTYPE(1,4,2))

Calculation: the largest value of a cell in the specified area is returned. Zero values are ignored. Exception: if all cell values are 0, then the output is 0.

For more information about PALO.EXPANDTYPE, see PALO.DATA.AVG.

PALO.DATA.MIN( Server/Database, Cube,  Coordinates, Expandtypes)
Returns the minimum of the cells of the specified range of cells whose value is not zero, e.g.:
=PALO.DATA.MIN("localhost/Demo","Sales",PALO.COORD("All Products","Europe","Year","2015","Actual","Units"),PALO.EXPANDTYPE(1,4,2))

Calculation: the smallest value of a cell in the specified area is returned. Zero values are ignored. Exception: if all cell values are 0, then the output is 0.

For more information about PALO.EXPANDTYPE, see PALO.DATA.AVG.

PALO.DATA.SUM( Server/Database, Cube, Coordinates, Expandtypes)
Returns the sum of cells in the specified range of cells, e.g.:
=PALO.DATA.SUM("localhost/Demo","Sales",PALO.COORD("All Products","Europe","Year","2015","Actual","Units"),PALO.EXPANDTYPE(1,4,2))

For more information about PALO.EXPANDTYPE, see PALO.DATA.AVG.

PALO.DATA.SUM is only used internally for average calculation. PALO.DATA.SUM returns the aggregated sum. The result isn’t different from normal PALO.DATA.

The example returns the same value as
=PALO.DATA("localhost/Demo","Sales","All Products","Europe","Year","2015","Actual","Units")

PALO.DATABASE_EXISTS(Server/Database)
Returns TRUE, if database exists, else FALSE. E.g.:
=PALO.DATABASE_EXISTS("localhost/demo")

PALO.DATABASE_LIST_CUBES(Server/Database,[Type, Show permission]) 2)

Argument Form
Server/Database Text
Type Empty: Lists all cubes
or optional a number for the type of cubes: 0=normal cubes, 1=system cubes,
2=attribute cubes, 3=userinfo cubes, 4=gpu cubes
Show permission  Optional: TRUE, FALSE(default)

Lists the cubes of a database in an area you define in advance, e.g.:
=PALO.DATABASE_LIST_CUBES("localhost/Demo",1) – Lists system cubes of the database “Demo”.

PALO.DATABASE_LIST_DIMENSIONS(Server/Database, [Type]) 2)

Argument Form
Server/Database Text
Type Empty: Lists all dimensions
or optional a number for the type of dimensions: 0=normal dimensions, 1=system dimensions,
2=attribute dimensions, 3=userinfo dimensions

Lists the dimensions of a database in an area you define in advance, e.g.:
=PALO.DATABASE_LIST_DIMENSIONS("localhost/demo",0) – Lists the normal dimensions of the database “Demo”.

PALO.DATABASE_LIST_DIMENSIONS_EXT(Server/Database, [Show normal d., ….]) 2)

Argument Form
Server/Database Text
Show normal d. Optional: TRUE(default), FALSE
Show system d. Optional: TRUE, FALSE (default)
Show attribute d. Optional: TRUE, FALSE (default)
Show userinfo d. Optional: TRUE, FALSE (default)
Show permiss. d. Optional: TRUE, FALSE (default)

Lists the dimensions of a database in an area you define in advance, e.g.:
=PALO.DATABASE_LIST_DIMENSIONS_EXT("localhost/demo",FALSE,TRUE) – Lists the system dimensions of the database “Demo”.

PALO.DATAC(Server/Database,Cube, Coordinate1, Coordinate2,… Coordinate16)
Reads the value of the described data cell from the cube, e.g.:
=PALO.DATAC("localhost/Demo","Sales","Desktop L","Germany","Oct",2015,"Actual","Units")

Contrary to PALO.DATA, all PALO.DATAC functions of a cube in one file are updated with a single call of the server, and this is consequently faster than with PALO.DATA functions.
If, instead of a coordinate, an empty string is used as a function argument (or if an empty cell is referenced), then the result will be not be an error message but an empty string. This is true for both Jedox Excel Add-in and Jedox Web.

Important constraints for using PALO.DATAC():
1.) In Excel the function PALO.DATAC internally triggers two recalculation cycles of the workbook. During the first cycle, the result of the PALO.DATAC formula is not yet available. This implies that it is problematic to have formulas depend on PALO.DATAC() where a result has to be present at all times, such as a second PALO.DATAC formula indirectly depending on a first PALO.DATAC formula. Therefore PALO.DATAC may only be used to display values from the cube or writeback values into the cube. PALO.DATAC() or its value may not be used in formulas, as this leads to incorrect results.
 2.) If you use Excel’s copy/paste functionality, and you have PALO.DATAC() on the sheet, and automatic recalculation of the workbook is turned on, then the clipboard will be empty after pasting its content for the first time. The workaround for this problem would be to disable automatic recalculation.
 3.) In Jedox Web, you can generally use DATAC formulas as input for other functions. The only constraint is that DATAC can not be used inside of cyclic calculations. Also, when using DATAC inside of an IF() formula, a scenario where the formula calculation encounters two DATAC formulas should be avoided. For example, there can’t be one DATAC formula the “condition” argument, and then another in the “then” or “else” argument; however, using DATAC only in both “then” and “else” arguments is allowed, as only one of them would be executed during the calculation.

PALO.DATAT(Server/Database,Cube, Coordinate1, Coordinate2,… Coordinate16)
Reads the value of the descriptive text cell from the cube, e.g.:
=PALO.DATAT("localhost/Demo","Market","Comment","Year","Units","All Products","2015","Total")

Enables display of more than 255 characters if they are entered in an array function. In this case, the continuation of the text is displayed in the next cell of the array.

PALO.DATAV(Server/Database,Cube, Coordinate1, Coordinate2,… Coordinate16)
Returns the value of a data cell from a cube when you use an Excel array formula.
This function is similar to PALO.DATA and PALO.DATAC, but this function works even faster because a single array formula is generated for the complete area. Use of PALO.DATAV is only possible in related cell areas.

PALO.DATAX(Server/Database,Cube, coordinate1, coordinate2,… coordinate16)
This function, which is available only in Jedox Excel Add-in, returns the value of the described element from the cube if the corresponding cell is on the currently active work sheet.
Note: This function corresponds to the PALO.DATA function. However, the computation is limited to the currently active table. This speeds up the computation, because it is no longer necessary to compute the whole workbook. If, however, you switch to a different worksheet and later come back to the worksheet containing the PALO.DATAX formulas, you may have to manually trigger a re-computation of the worksheet. This step will always be necessary if calling the worksheet returns “#NV” instead of a value.

PALO.DFILTER() 1)
Calculates either a numeric value or a string value for each of the elements of the subset. In the case of numeric values, a slice can be defined for each of the elements of the subset. The slice is always the same except for the element itself. Now you can do operations using the cell values within the slices, such as Total Sum, Maximum, or Minimum based on all cells. This results in a value for each of these elements.
The elements can now be filtered based on their values, whereby operations such as “<100” will be applied.
The filtering is similar for string values, e.g. you could filter by applying “>w”, whereby lexicographical rules apply. However, the slice may contain only one cell. The reason is obvious: you cannot summarize strings.
As of Jedox Version 6.0, multiple DFilters can be used in one subset. They all have to filter for the same dimension, but can run on different subcubes. By default, the result sets of all DFilters are combined using OR. All elements that are part of either DFilter result will be in the final result set. This behavior can be changed by setting the eighth parameter of the DFilter function (see below).

Argument Form Description
PALO.SUBCUBE() Function PALO.SUBCUBE is an essential selection criterion when using DFilter. The arguments are the name of the cube and the dimensions, excluding the dimension that is covered by the subset. The elements are entered in the sequence in which the dimensions are defined in the cube. The place in the dimension, which is already determined by the subset, remains empty.
Operations See examples:

Checks whether the values determined for the elements satisfy the criteria.
Possible operators:=,<,>,<=,>=,<>
Example 1 for a data value: {">=".3000}
Example 2 for a string: {"="."Super"} (Here, “Super” is an entry in a text-element)

Top Number This is another possible argument. In case an integer value TOP is passed, only a number of TOP elements with the highest values are displayed. If the argument is left blank, the elements will not be restricted.
Upper percentage Number If a numeric value between 1 and 99 (inclusive) is entered here, then only the largest elements (whose total value reaches the exact limit or whose total value is closest to it) are selected. The selection starts at the largest element, then adds the second largest, and so on. The selection ends when the total sum is closest to the limit.
Lower percentage Number

If a numeric value between 1 and 99 (inclusive) is entered here, then only the smallest elements (whose total value reaches the exact limit or whose total value is closest to it) are selected. The selection starts at the smallest element, then adds the second smallest, and so on. The selection ends when the total sum is closest to the limit.
  If both upper and lower percentage arguments are used, the “mid-percentage” applies. In this case, the values up to the highest or the lowest marginal value respectively will be removed from the selection. Taking the above example, all values between >50% (starting with the highest value) and >5% (starting with the lowest value) will be included in the selection.

Cell Operator Number If a value is entered, the respective operator will be applied to each slice. You can, for example, calculate the sum, minimum, or maximum of the cells in the slice. 6 = STRING expects strings to be contained in the cells. For slice use 1.
  Operators: 0/blank = SUM, 1=ALL, 2=AVERAGE, 3=MAXIMUM, 4=ANY,  5=MINIMUM, 6=TEXT
 Elements are returned – not the values.
No Rules True/False Empty/false = enterprise rules are computed for DFilters.
  True = enterprise rules are not computed for DFilters.
Use AND True/False Empty/false = result sets of multiple DFilters are joined using OR.
  True = result sets of multiple DFilters are joined using AND. Only elements that are in result sets of all DFilters are included.

PALO. DIMENSION_EXISTS(Server/Database, Dimensionname)
Returns TRUE, if dimension exists, else FALSE. E.g.:
=PALO.DIMENSION_EXISTS("localhost/Demo","Regions")

PALO.DIMENSION_LIST_CUBES(Server/Database,Dimension, [Type]) 2)

Argument Form
Server/Database Text
Dimension Text
Type Empty: Lists all cubes
or optional a number for the type of cubes: 0=normal cubes, 1=system cubes, 2=attribute cubes, 3=userinfo cubes, 4=gpu cubes

Lists in which cubes a dimension is contained, in an area you define in advance. E.g.:
=PALO.DIMENSION_LIST_CUBES("localhost/Demo","Months",0) – Lists all normal cubes of the database “Demo” which contain the specified dimension.

PALO.DIMENSION_LIST_ELEMENTS(Server/Database, Dimension, Unused) 2)

Argument Form
Server/Database Text
Dimension Text
Unused Argument is not yet used.

Lists which elements are contained in a dimension, in an area you define in advance. E.g.:
=PALO.DIMENSION_LIST_ELEMENTS("localhost/Demo","Months")

PALO.EADD(Server/Database, Dimension, Type, Element, Parent Element, Weight, Clear)
Adds the described dimension element or structures to a database, e.g.:
=PALO.EADD("localhost/Demo","Years","n","2015","",1,FALSE) – consolidated element = BLANK here =PALO.EADD("localhost/Demo","Months","c","Qtr.1","Year",1,FALSE)

Possible values for Clear are 0 (or FALSE), 1 (or TRUE) and 2
  0: Removes no elements of the dimension before importing
  1: Removes all elements of the existing dimension before importing
  2: Removes all existing elements of the C-dimension before importing. Basic elements are not deleted.
 
Note 1: make sure that all PALO.EADD functions referring to the same dimension use identical parameters (true or false). Otherwise, all PALO.EADD functions will execute that parameter for the complete dimension that was found first. Reason: the sequence in which Excel formulas are processed cannot be determined. During an import the Delete command will only be executed once with the first PALO.EADD () and then it will be ignored.
Note 2: the function PALO.EADD can only be used in connection with an import, because the Import Wizard recalculates the database.

PALO.EALIAS(Server/Database, Dimension, Attribute, Alias, Index) 2)
Lists all elements with the matching alias, in an area you define in advance.

In the database “Demo”, the attribute “Color” was created for “Products”, and nine products have received the attribute “black” in the following examples:
=PALO.EALIAS("localhost/Demo","Products","Color","black") displays these nine products. =PALO.EALIAS("localhost/Demo","Products","Color","black", 3) displays the 3rd of the nine products. =PALO.EALIAS("localhost/Demo","Products","Color","black", 10) displays again the nine products, because the index 10 does not exist.

PALO.ECHILD(Server/Database, Dimension, Element, Index, Error suppr.)
Returns the name of the specified child element, e.g.:
=PALO.ECHILD("localhost/Demo","Regions","South",3) returns “Spain”.

PALO.ECHILDCOUNT(Server/Database, Dimension, Element, Error suppr.)
Returns the number of children in the described consolidated element, e.g.:
=PALO.ECHILDCOUNT("localhost/Demo","Regions","South") returns “3”.

PALO.ECOUNT(Server/Database, Dimension, Error suppr.)
Returns the total number of elements in the described dimension, e.g.:
=PALO.ECOUNT("localhost/Demo","Years") returns “9”.

PALO.EDELETE(Server/Database, Dimension, Element, Error suppr.)
Deletes the described element, e.g.:
=PALO.EDELETE("localhost/Demo","Products","Subnote XK")

Note: the function PALO.EDELETE can only be used in connection with an import, because the deletion is controlled via the import.

PALO.EEXISTS(Server/Database, Dimensionname, Elementname)
Returns TRUE, if element exists, else FALSE. E.g.:
=PALO.EEXISTS("localhost/Demo","Regions","Spain")

PALO.EFIRST(Server/Database, Dimension, Error suppr.)
Returns the first element in the described dimension, e.g.:
=PALO.EFIRST("localhost/Demo","Regions") returns “Germany”.

PALO.EINDENT(Server/Database, Dimension, Element, Error suppr.)
Returns the hierarchy level of an element within the dimension, e.g.:
=PALO.EINDENT("localhost/Demo","Regions","Italy") returns “3”.

PALO.EINDEX(Server/Database, Dimension, Element)
Returns the position of the specified element in the dimension, e.g.:
=PALO.EINDEX("localhost/Demo","Regions","France") returns “2”.

PALO.EISCHILD(Server/Database, Dimension, Parent Element, Element, Error suppr.)
Checks whether a consolidated element contains the described element, e.g.:
=PALO.EISCHILD("localhost/Demo","Regions","West","Germany") returns TRUE.

PALO.EL()
PALO.ELALL()
Both functions are helper functions, related to new flexible cube layout. They are used within other PALO functions, such as PALO.DATA*(), and allow to specify not just an element name, or array of elements, but also to specify a dimension name with it. Functions which use PALO.EL() for coordinates will continue to work, even if the layout of a cube (e.g. order of dimensions) changes.

PALO.ELALL() is specific case, used in PALO.CUBE_CLEAR(). It only takes a dimension name as argument. It’s meaning is “all elements in dimension X”.

Example:
=PALO.DATA("localhost/Demo","Sales",PALO.EL("Regions","Europe"),PALO.EL("Products","All Products"),PALO.EL("Years","All Years"),PALO.EL("Months","Year"),PALO.EL("Versions","All Versions"),PALO.EL("Measures","Units"))

PALO.ELEMENT_LIST_ANCESTORS(Server/ Database, Dimension, Element, Error suppr.) 2)

Argument Form
Server/Database Text
Dimension Text
Element Text
Error suppr. Empty or FALSE: Error messages will not be suppressed.
TRUE: Error messages will be suppressed.

Lists all ancestors of the given element in a predefined area, e.g.:
=PALO.ELEMENT_LIST_ANCESTORS("localhost/Demo","Months","Jan")

PALO.ELEMENT_LIST_CHILDREN (Server/ Database, Dimension, Element) 2)
Lists all child elements of a consolidated element in a predefined area, e.g.:
=PALO.ELEMENT_LIST_CHILDREN("localhost/Demo","Regions","West")

PALO.ELEMENT_LIST_DESCENDANTS(Server/ Database, Dimension, Element, Error suppr.) 2)

Argument Form
Server/Database Text
Dimension Text
Element Text
Error suppr. Empty or FALSE: Error messages will not be suppressed.
TRUE: Error messages will be suppressed.

Lists all children and grandchildren of an element in a predefined area, e.g.:
=PALO.ELEMENT_LIST_DESCENDANTS("localhost/Demo","Products","Monitors")

PALO.ELEMENT_LIST_PARENTS(Server/ Database, Dimension, Element) 2)
Lists all parents of an element in a predefined area, e.g.:
=PALO.ELEMENT_LIST_PARENTS("localhost/Demo","Months","Jan")

PALO.ELEMENT_LIST_SIBLINGS (Server/ Database, Dimension, Element) 2)
Lists all siblings of an specified element, also the specified element itself, in a predefined area, e.g.:
=PALO.ELEMENT_LIST_PARENTS("localhost/Demo","Months","Qtr.1")

PALO.ELEVEL(Server/Database, Dimension, Element, Error suppr.)
Returns the number of hierarchy levels that follow after the element within the dimension, e.g.:
=PALO.ELEVEL("localhost/Demo","Regions","Germany") returns “0”. =PALO.ELEVEL("localhost/Demo","Regions","West") returns “1”.

PALO.ENAME(Server/Database, Dimension, Index)
Returns the name of the element of a specific position (first position is 1), e.g.:
=PALO.ENAME("localhost/Demo","Regions",2) returns “France”.

Note for protected Excel sheets: to display or select aliases in a PALO.ENAME formula on protected Excel sheets, it is necessary to allow changing cell formats. Displaying or selecting element names without alias usage works even if cell format cannot be changed by users.

PALO.ENEXT(Server/Database, Dimension, Element, Error suppr.)
Returns the name of the subsequent element within the dimension, e.g.:
=PALO.ENEXT("localhost/Demo","Regions","Italy") returns “Portugal”.

PALO.EPARENT(Server/Database, Dimension, Element, Index, Error suppr.)
Returns the name of the nth parent of the specified element, e.g.:
=PALO.EPARENT("localhost/Demo","Regions","Italy",1) returns “South”. ==PALO.EPARENT("localhost/Demo","Regions","Italy",2) returns “New Group”, because this has been created and “Italy” is consolidated in it.

Note: if an element occurs only in one consolidation, only the parameter “number” = “1” is possible. If an element occurs in several consolidations, the “Number” determines which consolidated element is returned.

PALO.EPARENTCOUNT(Server/Database, Dimension, Element, Error suppr.)
Returns the number of consolidated elements in which the described element is contained, e.g.:
=PALO.EPARENTCOUNT("localhost/Demo","Regions","Italy") returns “1”. =PALO.EPARENTCOUNT("localhost/Demo","Regions","Italy",2) returns “2” if there is a consolidated element “New Group” and “Italy” is consolidated in it.

PALO.EPREV(Server/Database, Dimension, Element, Error suppr.)
Returns the name of the preceding base element, e.g.:
=PALO.EPREV("localhost/Demo","Regions","Italy") returns “Austria”.

PALO.ERENAME(Server/Database, Dimension, Old Name, New Name, Error suppr.)
Renames the described element, e.g.:
=PALO.ERENAME("localhost/Demo","Products","Notebook TT","Notebook TS")

Note: the function PALO.ERENAME can only be used in connection with an import, because the renaming is controlled via the import.

PALO.ERROR_LOG(Error, Path, Value, Cube, Coordinate1, Coordinate2,…,Coordinate15) available only in Jedox Excel Add-in.
Writes the data records of an import file that does not adhere to import specifications into an error file, e.g.:
=PALO.ERROR_LOG(F3,"c:\Error.txt",A1,B1,C1,D1,E1,F1)

Note: the function PALO. ERROR_LOG can only be used in connection with an import.

PALO.ESELECT(Server/Database, Dimname, Element, Subfunction, Subsetname, Subsettype, Alias, Aliasformat)
Returns the name or the alias (or a combination of both) for a defined element .
This function allows specifying a stored subset, which is used to filter element lists shown in the “Select Element” dialog. Additionally, it allows specifying an Alias and an Alias format. Long element lists on specific dimension levels are displayed in paged mode. The search in both “Paste Elements” dialog and “Select Element” dialog will search across the full dimension.

Argument Form Description
Server/Database Text Reference to server and database.
Dimname Text Reference to dimension.
Element Text Reference to path for selected element.
Parts of path are separated by backslash.
Subfunction Number 0/empty:  Double-click opens dialog “Choose Element”, 1: Double-click opens cell entry for editing.
Subsetname Text

Reference to subset. If empty or missing then all elements are used.

Subsettype TRUE/FALSE The type of the stored subset: TRUE is global, FALSE is private.
Alias Text Reference to attribute name. If empty or missing then element name will be used. If the Alias has a localized value in the current user’s locale, that value will be returned.
Aliasformat Number 0 : alias
   1 : element name
   2 : element name + ” – ” + alias
   3 : alias + ” – ” + element name
   4 : element name + ” (” + alias + “)”
   5 : alias + ” (” + element name + “)”
   6 : element name + ” ” + alias
   7 : alias + ” ” + element name

Example:
=PALO.ESELECT("Localhost/Biker","Months","Qtr.1\Mar",0,"Calendar",TRUE,"deutsch",2)

Result: Mar – Mrz

The ESELECT function’s primary use is to offer an element picker which is shown when a report user double-clicks a cell that holds an ESELECT function. It is not intended for programmatic usage of attribute values, for example within other spreadsheet functions like IF() or CONCATENATE(). In these cases, a PALO.DATA or DATAC function pointing to the attribute cube should be used.

PALO.ESIBLING(Server/Database, Dimension, Element, Index, Error suppr.)

Argument Form
Server/Database Text
Dimension Text
Element Text
Index The element itself has the index 0, the sibling in the hierarchy view found directly below has the index 1, and so on.
The sibling found directly above has the index -1 and so on.
Error suppr. Empty or FALSE: Error messages will not be suppressed.
TRUE: Error messages will be suppressed.

Returns a sibling element of the specified element. The sibling, which should be returned, must be specified with the index number.  E.g.:
=PALO.ESIBLING("localhost/Demo","Regions","Portugal",1) returns “Spain”. =PALO.ESIBLING("localhost/Demo","Regions","Portugal",-1) returns “Italy”.

This function can also be used to verify whether an element exists in a dimension by entering the name of the element and the position “0”. If the element exists, the name of the element is returned; if not, “# Name?” is returned, e.g.:
=PALO.ESIBLING("localhost/Demo","Regions","Italy",0)  returns “Italy”. ==PALO.ESIBLING("localhost/Demo","Regions","Greece", 0) returns “#Name?”.

PALO.ETOPLEVEL(Server/Database,Dimension)
Returns the number of hierarchy levels in a dimension, e.g.:
=PALO.ETOPLEVEL("localhost/Demo","Regions") returns “2”.

PALO.ETYPE(Server/Database, Dimension, Element, Error suppr.)

Argument Form
Server/Database Text
Dimension Text
Element Text
Error suppr. Empty or FALSE: Error messages will not be suppressed.
TRUE: Error messages will be suppressed.

Returns the type of the described element (numeric, string, or consolidated), e.g.:
=PALO.ETYPE("localhost/Demo","Regions","Italy") returns “numeric”.

PALO.EUPDATE(Server/Database, Dimension, Element, Type, C-Elements, Append)
Updates an element after the specified data. To demonstrate this function here a nonsense example:
=PALO.EUPDATE=("localhost/demo","Months","Jan","C",{"Feb",1,"Jun",2})

After this import command “Jan” is a C element, consolidated with 1xFeb and 2xJun. A correction of the last nonsense example would be the following import:
=PALO.EUPDATE("localhost/Demo","Months","Jan","N",{0,0})

PALO.EWEIGHT(Server/Database, Dimension, Parent, Name of child, Error suppr.)
Returns the weighting factor of the described element at consolidation, e.g.:
=PALO.EWEIGHT("localhost/Demo","Regions","West","Germany") returns “1”.

PALO.EXPANDTYPE()
This is a helper function for some statistical functions. For more information, see PALO.DATA.AVG.

PALO.HFILTER() 1)
PALO.HFILTER() defines hierarchically a subset with criteria relative to 1. ELEMENT or  2. REVOLVE_ELEMENT.  Case 1 and Case 2 should not be combined.

Argument Form Description
Element Element name Activates the selection of elements that are above or below “Element” within the dimension hierarchy
Above

0, FALSE or BLANK
 1 or TRUE
 2

This argument can only be used in combination with “Element”. If argument is 1 or TRUE, the elements that are above the “Element” within the hierarchy are selected. If argument is 0, FALSE or BLANK, the elements below are selected. Above/below means that the elements have to be direct or indirect children or parents of  “Element”.
 If argument is 2, the siblings of “Element” are selected. In parallel hierarchies, when “Element” is not specified with path, siblings for all parents are returned.
Exclusive TRUE/FALSE This argument can only be used in combination with “Element”. TRUE = Do not show the element itself,  i.e. Element indicated in “Element”.  Blank or FALSE = Show the element.
Hide Number This argument can only be used in combination with “Element”. It hides either the base elements (HIDE = 1) or the consolidations (HIDE = 2). Blank = nothing will be hidden.
Revolve element Element name The effect of this argument is that it will remove elements from the subset if they are not on the same level as “Revolve element”. Therefore this argument should not be used in combination with “Element”. Blank = None. “Revolve element” additionally requires the specification of “Revolve count”. Otherwise, an error message will be returned.
Revolve count Number Determines how long the revolving list should be. The length of the list is dictated by the number in “Revolve count”. Blank = None.
Revolve add Number Display elements at a lower level (= 1) or at a higher level (=2). Here, the level fields of the elements assigned by the Jedox Server are used as criterion. “Revolve add” additionally requires the specification of “Revolve count”. Otherwise, an error message will be returned. Blank = nothing .
Start level Number Elements will be removed if they do not meet the level entered in “Level start” at a minimum and the level in “End level” at a maximum.
End level Number 2nd argument belonging to “Level start”.
Use relative level FALSE or BLANK
 TRUE
Default value is “FALSE”. If TRUE, the “start” and “end” levels are not absolute to hierarchy, but relative to the “bound” element (first argument), that have level 0. If no bound element is selected, only top elements are returned.

PALO.PICKLIST() 1)
With PALO.PICKLIST(), you can either add elements to the subset that cannot be removed, or you can determine a set of elements as pre-selection, i.e., only these elements will be passed on to further filters of the subset.

Argument Form Description
Definition Name of elements Which elements belong to the pick list. The definition is essential to the pick list.
Type Number 0/empty =Insert before the list, 1 =Insert after the list, 2 = insert into the list, 3 = As pre-selection for the subset.

 

PALO.ROOT_LIST_DATABASES(Server, List system, List userinfo) 2)

Argument Form
Server Text
List system TRUE: system databases will also be listed
FALSE: system databases will not be listed
List userinfo TRUE: userinfo databases will also be listed
FALSE: userinfo databases will not be listed

Lists the databases that exist on the server, in an area you define in advance, e.g.:
=PALO.ROOT_LIST_DATABASES("localhost",TRUE,TRUE)– Lists the following databases after a default installation: System (system), Demo (normal), Biker (normal), Config (userinfo), fgrp1(userinfo), fgrp2(userinfo), rgrp1(userinfo), rgrp2(userinfo), pkgs (userinfo).

 

PALO.SERVER_INFO(Server) 2) available in Jedox Excel Add-in and Jedox Web.
This function displays:   

  • major version of the server   
  • minor version of the server   
  • number used to distinguish type of server (1 – ST 32bit, 2 – MT 32bit, 3 – ST 64bit, 4 – MT 64bit, 5 – GPU 64bit)   
  • build number of the server   
  • encryption (0 for none, 1 for optional, 2 for required)   
  • corresponding HTTPS port or 0 if HTTPS is not supported   
  • data token (changed by every write operation), e.g.:
    =PALO.SERVER_INFO("localhost")

PALO.SERVER_SUBSET(Server/Database, Dimension, Global, Subsetname, Variable, Variable,…) 2) 
Returns a subset of dimension elements.
As of Version 6.0 this function has been extended to accept variables passed in the function itself. Before the function tried to resolve any variable in the stored subset implicitly on the current workbook (either via a cell reference or a named range). In 6.0, values for the variables can be passed via the function PALO.SERVER_SUBSET directly, as pairs of arguments for each variable.
The following example retrieves elements for a stored subset named “base elements” on dimension “Months”, and passes the value “German” for the variable “alias”:
=PALO.SERVER_SUBSET("localhost/Demo","Months",TRUE,"base elements","alias","German")

PALO.SETDATA(Value, Splash, Server/Database, Cube, Coordinate1, Coordinate2,…..)
Writes the value into the cell specified through the coordinates. Set Splash to “True” if you want to write in a consolidated element. Otherwise, set it to “False”. The parameter “Value” can be a number or the reference to a spreadsheet cell with a number, e.g., A1. Alternatively, it can be a formula.
Examples:
=PALO.SETDATA($A$1,FALSE,"localhost/Demo","Sales","Desktop L","Germany","Dec","2018","Budget","Units") =PALO.SETDATA($E$1*$F$1*$G$1,FALSE,"localhost/Demo","Sales","Desktop L","Germany","Dec","2018","Budget","Units")

PALO.SETDATA_BULK(Server/Database,Cube,Cells,Values,Splashmode)
Available in Jedox Excel Add-in and Jedox Web (in Jedox Web this function isn’t displayed in the function wizard).
Sets values of several cube cells The values are written into the cells specified through the parameter cells. Cells and values can be arrays. The result of PALO.SETDATA_BULK is TRUE.

Splashmodes:

0=No splashing 1= Standard splashing (Splash-Parameter #)
2= Set value to base cells (Splash-Parameter !) 3= Add value to base cells (Splash-Parameter !!)

Example with arrays:
=PALO.SETDATA_BULK("localhost/Demo","Sales",{"Desktop L","Germany","Dec","2018","Budget","Units";"Desktop Pro","Germany","Dec","2018","Budget","Units"},{10000;20000},2)

Example with ranges:
The parameter cells and values of this example are in the ranges C4:H5 (without quotes) and J4:J5.
=PALO.SETDATA_BULK("localhost/Demo","Sales",$C$4:$H$5,J4:J5,2)

PALO.SETDATAA(Value, Splash, Server/Database, Cube, Coordinate Array, Locking Area, SVS_Trigger, Wait)
Writes the value into the cell specified through the coordinates given as an array. Set Splash to “True” if you want to write in a consolidated element. Otherwise, set it to “False”. The parameter “Value” can be a number or the reference to a spreadsheet cell with a number, e.g., A1. Alternatively, it can be a formula.

Optional Parameter:
Locking_area: locked cell_area (it is possible to define an area of child cells if target is a parent cell).

Note: The “Value” can only be set to one cell, not to an area of cells! Therefore only one row can be used for the cell address.
The advantage of this functions compared with PALO.SETDATA() is that you can restrict splashing with the parameter Locking_area!

Example:

Description: PALO.SETDATAA() splashes 170000 in parent cell “Destop L,Europe,Dec,2019,Budgets,Units”, displayed childs France and Spain are locked.

PALO.SETDATAIF(Condition, Value, Splash, Server/Database, Cube,Coordinate1, Coordinate2,…)
Writes the value into the specified cell of the cube If condition is TRUE, same as PALO.SETDATA(). If the condition is FALSE, nothing happens.

PALO.SORT() 1)
This is a structuring filter. It can, for example, sort by the order of definition, by data values, by element names, by alias names or by the order of consolidations.
In addition, it can produce a hierarchical order, which takes parallel hierarchies in the subset into account.
Without the sorting filter, the elements are displayed in the order of definition, as in the unordered list view in Modeler).

Argument Form Description
Whole Number 0/empty = Order of definition.
1 = Builds a hierarchic order and shows the children of elements that have been removed from the subset. It is a prerequisite that the children are contained in the subset.
2 = Will not show the children, but will cut the view at those particular positions.
Criteria Number Sort by 0/blank= Definition, 1=Value, 2=Elementname, 3=Alias, 4=Consolidation (Order of the elements in the hierarchical view in Modeler). This argument should not be used in combination with “Attribute”.
Attribute Text Does not sort by Aliases if defined, but by the terms defined by the attribute. Note: this argument should not be used in combination with “Criteria”!
Type limitation Number 0/blank = No impact
1 = Sorts base elements only
2 = Sorts consolidations only
To do a sort, it is necessary to indicate the sort criteria. Therefore, this argument works only in connection with the arguments “Whole” and “Criteria”.
Level element Text If not blank, sorting takes place only at the level of this element. To do a sort, it is necessary to indicate the sort criteria. Therefore, this argument works only in connection with the arguments “Whole” and “Criteria”.
Reverse Number

0/empty = Without effect.
1 = Hierarchical presentation of parents below the children and sorted on every level using criteria.
2 = Complete reversal of the sorting criteria.
3 = Hierarchical presentation and on every level reversal of sorting using criteria.

1 or 3 as argument only works in conjunction with “Whole <> 0/empty”.
With 2 as an argument, it is allowed that “Whole = 0/empty”.

Show duplicates Number 0/empty = Don’t display duplicates
1 = Display duplicates
Number of elem. Number Number of returned elements.
Start with Number Element position with which the display of elements begins (element 1 has element position 0, element 2 has 1, and so on.).
Return also full  TRUE,
FALSE or empty
 TRUE: Subset result will also contain full element path.

 

PALO.SUBCUBE() 1)
This function is an essential selection criterion when using DFilter. The arguments are the name of the cube and the dimensions excluding the dimension that is covered by the subset.
The elements are entered in the sequence in which the dimensions are defined in the cube. The place in the dimension that is already determined by the subset remains empty.

 

PALO.SUBSET() 1)
The principal structure of this function is:
=PALO.SUBSET(Server/Database,Dimension,Indent,Alias,Filter1,Filter2,Filter3,Filter4,Filter5,Filter6).
The function PALO.SUBSET() is the basic filter required by all the other filters to display data.
Filters can have an impact on a subset in three different ways:             

  1. Restricting, by removing elements             
  2. Structuring, by changing the order and possibly the frequency of the elements, or by directly adding elements             
  3. Indirectly, by changing the behavior of other filters

The function PALO.SUBSET() has the following arguments:

Argument Form Description
Server/Database Text localhost/Demo or A1 (the cell which contains the entry)
Dimension Text Products or A2 (the cell that contains the name of the dimension).
Indent Number The allowed values are 1 (equivalently: empty), 2, 3 and 4 (4 as of Version 6.0 SR1). The argument alters the numbering of the hierarchy level, which in turn affects the subset, where the hierarchy level is specified in the filter.
Indent 1: The elements of the highest hierarchy level get the number 1, the second highest level gets number 2, and so on.
Indent 2: The elements in the lowest hierarchy level (base elements) get the number 0. The number is incremented by 1 for every step up in the hierarchy.
Indent 3: The elements of the highest hierarchy level get the number 0, the second highest level gets the number 1, and so on.
Indent 4: This number will dynamically adjust the indent of elements in the subset based on the overall subset results. All elements for which no parent element is found will get indent  number 1, regardless of their position level in the dimension. Elements for which at least one parent element is found in the subset will get an indent number calculated from their parent’s indent in the result (incremented by 1).
Alias Text/Array Contains at most two aliases: {“Alias1″,”Alias2”} or “Alias”. Alternatively, it is possible to use a reference to the cell, e.g. {A1} or {A1:A2}. When using “Alias”, the sorting filters do not use the original names of the elements for their operations but rather the aliases defined in the attribute cube. If empty, aliases are deactivated.
Filter Filter name() Allowed are: PALO.HFILTER(), PALO.TFILTER(), PALO.AFILTER(), PALO.DFILTER(), PALO.PICKLIST(), and PALO.SORT().

 

PALO.TFILTER() 1)
Removes elements from a selection when they do not match defined Elementname or Alias patterns.

Argument Form Description
Regex Text Array which contains the definition of the element patterns.
Extended Integer,
TRUE, FALSE
Defines the filter behavior. Possible values are:
  0, FALSE or blank: Filter uses wildcard patterns for search, case sensitive.
  1 or TRUE: Filter uses PERL regular expressions, case sensitive.
  2: Filter uses PERL regular expressions, case insensitive.
  3: Filter uses wildcard patterns for search, case insensitive.
Not Alias TRUE/FALSE If FALSE (default), TFILTER will search on Alias if one is defined. Otherwise TFILTER will search on Elementname. If TRUE, TFILTER will search on Elementname even if an Alias is defined.

A wildcard pattern is a sequence of characters that defines a search pattern and only “*” and “?” can be used as wildcards.

PALO.USERGROUPS(Server) 2)  
Available in Jedox Excel Add-in and Jedox Web. In Jedox Web, this function isn’t displayed in the function wizard.
This function lists all user groups of the user of the connection “Server”, e.g.:
=PALO.USERGROUPS("localhost")

2.1 Parameters

Name Possible entry
Server/Database A text entry (Name) such as “localhost/Demo” or a coordinate such as A1
Cube A text entry (Name) such as “Sales” or a coordinate such as A2
Dimension A text entry (Name) such as “Europe” or a coordinate such as A4
Element/consolidated element A text entry (Name) such as “Variance” or a coordinate such as B8
Coordinate Can be an element
Type “n” for numeric, “s” for String/Text and “c” for consolidated
Weighting factor A number
Delete True or false (true if existing entries should be deleted)
Position of base element A number
Position A number
Number of consolidated element. A number
Old name, new name Two coordinates such as A1,B1.
Note: the names to be changed are in the coordinates.
Position of the sibling element A number
Value The coordinate that holds the value to be written.
Note: instead of a coordinate such as A1, you can also use a formula such as A1*B1. This is explained in the push rules.
Splash True or false (true = write in consolidated element)
Error A coordinate, e.g., B10. This refers to the cell, in which the appropriate PALO.SETDATA function is executed.
Storage location (path) A path such as C:\Documents and Setting\Own Files\Error log.txt. In this case the faulty data records of an import are saved in the “Error log.txt” file.
Empty String In the current version, various functions have been extended to accept the argument “Empty  String”. If you enter “TRUE” as actual argument here, an error message, if it occurs, will not be displayed. Instead, the cell will be left empty!

Notes:
You might have to replace the comma (,) with a semicolon (;) and the apostrophe (‘) with quotation marks (“). This depends on country settings.
If an argument remains blank in a formula, two quotation marks (“”) are normally set to generate a blank string.

2.2 Subset filter functions

The filter functions PALO.HFILTER(), PALO.TFILTER(), PALO.PICKLIST(), PALO.AFILTER(), PALO.DFILTER(), and PALO.SORT() are sub-functions of PALO.SUBSET (). They do not work independently, but need PALO.SUBSET() as the basic function. In addition, the function PALO.SUBCUBE() is required when using PALO.DFILTER().

Behavior of filter functions:
The listed filter functions have a restricting and/or structuring effect on the elements of the dimension that is selected in PALO.SUBSET().
 

Hierarchy filter PALO.HFILTER()
This filter is both restricting as well as structuring. It is restricting in that it defines a subset within the hierarchy of a dimension (e.g. all elements below a specific element). It is structuring in that it revolves the structure of the subset, meaning that the selected elements will be repeated until a defined number of elements has been reached.
 

Text filter PALO.TFILTER()
This restricting filter removes elements from a selection that do not match defined element name or alias patterns. If an alias for the element exists, the third function argument specifies whether the alias will be used for the search.
 

Picklist filter PALO.PICKLIST()
With the picklist filter you can do one of two things:  

        

  1. add elements directly, so that they cannot be removed from the subset by any means.  
  2.     

  3. pre-select elements, whereby the remaining filters of the subset will only be applied to the selected elements. In this case Picklist filter is restrictive.
     

Attribute filter PALO.AFILTER()
This restrictive filter eliminates elements from a selection if they don’t match defined attribute patterns.
 

Data filter PALO.DFILTER()
The data filter is both restrictive and structuring. For each element, a data value will be calculated. If the data value meets specific criteria, the element will be retained; otherwise it will be dismissed. The element will then be sorted by the calculated data values using the sorting filter.
 

Sorting filter PALO.SORT()
This structuring filter determines the sequence of the elements in the subset (e.g. sorting by data value, alphabetically, or by alias). If the sorting filter is not used, the elements will be displayed in the order of creation.

Sequence of execution:

First, the restricting filters will be applied. If the “Preselecting” argument is chosen in the picklist filter, only the selected elements will be passed on to the further filtering of the subset. Otherwise all elements of the chosen dimension will be passed on. With filters that both restricting and structuring characteristics, only the restricting part will be executed. The order of execution is irrelevant, because elements are merely removed from the selection.

Next, the structuring filters will be applied. There is an exactly defined sequence that results inevitably from the filters:             

  • At first, there is a list of elements that have not been eliminated by the previous filters. They appear in the sequence in which they are defined in the Modeler.             
  • If the argument “Insert” has been chosen in the function PALO.PICKLIST(), its elements will be inserted in the order of creation.             
  • If PALO.SORT() has been specified with arguments, then its instructions will be executed at this point.             
  • If the argument “Insert before the list” or “Insert after the list” has been chosen in the function PALO.PICKLIST(), this instruction will be executed next.             
  • Finally, the revolving arguments of the hierarchical filter will be executed.

2.3 Array functions

The output of an array function normally needs more than one cell.

To activate an array function:             

  1. Create the array function with the function wizard in the selected cell.             
  2. Copy the function to the area in which you can expect an output of the function.             
  3. Highlight this area.             
  4. Click in the formula bar at the end of the function.             
  5. Press Ctrl + Shift + Enter.

To deactivate an array function:             

  1. Highlight the whole area of the array function.             
  2. Click in the formula bar at the end of the function.             
  3. Press Ctrl + Enter.
image_pdfimage_print
Was this post helpful?
NoYes (+2 rating, 12 votes)
Loading...