Essbase BSO export.
What to expect from input:
To parse the export file you need to know two things:
Essbase BSO export. What to expect from input: * Space separated. * Quoted member names, non-quoted values. * Max file size is 2GB. * COLUMNS are specified in first line of the file: - List of quoted member names of single dense dimension, last field is empty. - No members from this dimension ever appear in the file again. - N members are specified, up to these many figures can appear in data lines. * POV lines appear periodically, those signal complete POV update: - List of quoted member names from distinct sparse dimensions. * DATA line consists of both partial POV updates and figures: - Quoted members of remaining dense dimensions (not present in POV lines). - Figures are non-quoted #Mi and numeric values, up to N occurrences per line. - Last field is always empty string, so last figure is followed by space. - Missing values from the left are marked as #Mi, from the right - skipped. To parse the export file you need to know two things: * Number of data storing dimensions in the cube. * Complete mapping of members to dimensions for storage dimensions.
(cells)
(cells spec)
(cells spec source)
Processor will get data point per each cell in file.
Requires complete member to dimension mapping in m->d and correct data dimension count in dim-count.
Processor gets seq of [{dimension member} value].
Default processor will return a vector of cells.
Errors out with ex-info if any member is mapped to nil.
Processor will get data point per each cell in file. Requires complete member to dimension mapping in m->d and correct data dimension count in dim-count. Processor gets seq of [{dimension member} value]. Default processor will return a vector of cells. Errors out with ex-info if any member is mapped to nil.
(data-field? field)
Take field, see if it's a possible Essbase value (empty, #Mi or number).
Take field, see if it's a possible Essbase value (empty, #Mi or number).
(data-line? row)
Check if last field is empty and penultimate field is a data-field.
Check if last field is empty and penultimate field is a data-field.
(dump->tsv m->d order out-path in-path & in-paths)
Given dump files consolidates them into single, row-expanded TSV.
One row per cell.
Requires complete member to dimension mapping in m->d and complete list of dimension names in order. It will be used to get dim-count right.
Given dump files consolidates them into single, row-expanded TSV. One row per cell. Requires complete member to dimension mapping in m->d and complete list of dimension names in order. It will be used to get dim-count right.
(members)
(members spec)
(members spec source)
Processor gets member name per every occurrence in file.
Default processor creates a hash-set of member names.
It will discard all the figures, provided dim-count is correct, and only process members.
Processor gets member name per every occurrence in file. Default processor creates a hash-set of member names. It will discard all the figures, provided dim-count is correct, and only process members.
(records)
(records spec)
(records spec source)
Processor will get data point per each data-line in file.
Requires complete member to dimension mapping in m->d and correct data storing dimension count in dim-count.
Processor gets seq of [{dimension member} {column value}].
Default processor will return a vector of such data points.
Errors out with ex-info if any member is mapped to nil.
Processor will get data point per each data-line in file. Requires complete member to dimension mapping in m->d and correct data storing dimension count in dim-count. Processor gets seq of [{dimension member} {column value}]. Default processor will return a vector of such data points. Errors out with ex-info if any member is mapped to nil.
(sniff-dimensions cells)
A processor for Cells that will return dimensions of first cell.
A processor for Cells that will return dimensions of first cell.
(sniff-unknown m->d)
Creates a processor for Members that will return a seq of distinct missing members.
Creates a processor for Members that will return a seq of distinct missing members.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close