Essbase XML Outline export.
Provides szew.io/XML processors for dimension extraction and convenience functions consuming the outline export file directly.
Allows both sequencing and zipping over dimensions and members.
Just keep in mind that parsing big, deeply nested XMLs is a memory hog.
Essbase XML Outline export. Provides szew.io/XML processors for dimension extraction and convenience functions consuming the outline export file directly. Allows both sequencing and zipping over dimensions and members. Just keep in mind that parsing big, deeply nested XMLs is a memory hog.
(cube xml-root)
Given parsed XML root node finds first <cube> and returns a map.
Given parsed XML root node finds first <cube> and returns a map.
(cube! xml-file)
Given XML outline export file returns parsed <cube> as a map.
Given XML outline export file returns parsed <cube> as a map.
(data-member-lut! xml-file)
Skip Attribute dimension when preparing the lut.
Skip Attribute dimension when preparing the lut.
Compatibility shim for seed-dimension.
Compatibility shim for seed-dimension.
(expand-dimension node)
Given parsed XML <Dimension> returns processed dimension with descendants.
Given parsed XML <Dimension> returns processed dimension with descendants.
(expand-member root)
(expand-member at root)
Given parsed XML <Member> root returns processed member with descendants.
Expecting at to be path above root, defaults to ["?"].
Adds :generation, :dimension and :parent to each member.
Given parsed XML <Member> root returns processed member with descendants. Expecting at to be path above root, defaults to ["?"]. Adds :generation, :dimension and :parent to each member.
Compatibility shim for expand-dimension.
Compatibility shim for expand-dimension.
Compatibility shim for expand-member.
Compatibility shim for expand-member.
(extract-dimensions xml-root)
(extract-dimensions wanted? xml-root)
Given parsed XML extracts dimensions with expand-dimension
. Lazy!
Predicate wanted?
will be fed output of seed-dimension
, no :members
!
Given parsed XML extracts dimensions with `expand-dimension`. Lazy! Predicate `wanted?` will be fed output of `seed-dimension`, no `:members`!
(extract-dimensions! xml-file)
(extract-dimensions! mf xml-file)
(extract-dimensions! wanted? mf xml-file)
Returns expanded dimensions. Allows predicate on unexpanded dimension.
The wanted?
predicate is true by default, mf callable is vec by default.
Returns expanded dimensions. Allows predicate on unexpanded dimension. The `wanted?` predicate is true by default, mf callable is vec by default.
(list-content-tags xml-node)
List all content tags visible from root of XML.
List all content tags visible from root of XML.
(list-dimensions xml-root)
Given parsed XML returns dimensions without members. Lazy!
Given parsed XML returns dimensions without members. Lazy!
(list-dimensions! xml-file)
(list-dimensions! mf xml-file)
Given a XML file returns dimensions wihtout members. Lazy!
Callable mf is composed with list-dimensions, vec by default.
Given a XML file returns dimensions wihtout members. Lazy! Callable mf is composed with list-dimensions, vec by default.
Compatibility shim for prepare-lut.
Compatibility shim for prepare-lut.
Compatibility shim for member-lut-package!
Compatibility shim for member-lut-package!
(make-good a-map)
Transform keys in map into kebab-case keywords.
Transform keys in map into kebab-case keywords.
Compatibility shim for seed-member.
Compatibility shim for seed-member.
(member-lut xml-root)
(member-lut wanted? xml-root)
Given parsed XML returns function of member name to dimension name.
Generated look-up-table can be found in function's meta.
Given parsed XML returns function of member name to dimension name. Generated look-up-table can be found in function's meta.
(member-lut! xml-file)
(member-lut! wanted? xml-file)
Given outline export returns function of member name to dimension name.
See doc of prepare-lut
for details.
Given outline export returns function of member name to dimension name. See doc of `prepare-lut` for details.
(member-lut-package! xml-file)
(member-lut-package! wanted? xml-file)
Prepares a hash-map with :m->d and :dim-count based on given file.
Also includes dimension names in :dimensions.
Prepares a hash-map with :m->d and :dim-count based on given file. Also includes dimension names in :dimensions.
(member-name-set root)
Given root with :members returns set of member names, including root.
Given root with :members returns set of member names, including root.
(member-seq root)
Your root into lazy-seq of members! Root first. Depth-First from there.
Note: if you feed it a dimension -- you will get a dimension first.
If you give it a husk of {:members seq-of-dimensions} you'll get that first.
Your root into lazy-seq of members! Root first. Depth-First from there. Note: if you feed it a dimension -- you will get a dimension first. If you give it a husk of {:members seq-of-dimensions} you'll get that first.
Compatibility shim for member-name-set.
Compatibility shim for member-name-set.
(member-walk visitor root)
Given processed dimension visit and maybe modify members.
Depth-First. Does visit root.
That visitor callable should accept loc and return loc.
Given processed dimension visit and maybe modify members. Depth-First. Does visit root. That visitor callable should accept loc and return loc.
(member-zipper root)
Given processed dimension or member, return a zipper.
Given processed dimension or member, return a zipper.
(non-attr-dim dimension)
Predicate over a Dimension: negation of storage-category = Attribute.
Predicate over a Dimension: negation of storage-category = Attribute.
(prepare-lut dimensions)
Given list of <Dimension>s prepares a LUT hash map of {member dimension}
.
Attached meta
contains:
Given list of <Dimension>s prepares a LUT hash map of `{member dimension}`. Attached `meta` contains: * :dimensions - parsed dimensions (with emtpy :members), * :rlut - {dimension #{members}} structure for top-down lookup, * :total-dims - total number of dimensions given, * :attr-dims - number of attribute dimensions given, * :data-dims - number of non-attribute dimensions given (used in data files).
(read-cube node)
Given parsed XML <cube> node returns processed map.
Given parsed XML <cube> node returns processed map.
(seed-dimension node)
Given parsed XML <Dimension> node returns processed dimension.
Given parsed XML <Dimension> node returns processed dimension.
(seed-member node)
Given parsed XML <Member> node returns processed single member.
Given parsed XML <Member> node returns processed single member.
(smart-lists xml-root)
Not Implemented! Given parsed XML returns <smartLists> processed.
Not Implemented! Given parsed XML returns <smartLists> processed.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close