计算和查询联合多维数据集
当您具有 Essbase 联合多维数据集时,计算和查询(如果可能)将由 Essbase 转换为 SQL 并推送到 Autonomous AI Lakehouse ,以便处理在存储数据的位置进行。
Essbase 多维数据集大纲包含元数据(维名称和成员名称)。Autonomous AI Lakehouse 保存与元数据关联的数据。数据存储在事实表中。
由于 Essbase 将计算处理推送到数据存储位置,因此这有助于解决数据延迟问题。这是从 Essbase 21.5 开始提供的新功能。
如果您刚开始使用 Essbase ,请先查看 Calculate Cubes 以了解有关一般计算的信息。
使用联合多维数据集时的计算方式取决于您在创建联合多维数据集时使用的 Essbase 多维数据集类型:块存储 (BSO) 还是聚合存储 (ASO)。
计算比较说明
对于基于 BSO 的联合多维数据集,当您计算和查询时, Essbase 会分析相关项并写入 SQL 以使用 Autonomous AI Lakehouse 中的分析视图处理结果。
对于基于 ASO 的联合多维数据集, Essbase 会处理定制计算和分配,然后将结果推送到 Autonomous AI Lakehouse 。
联合多维数据集计算的附注/限制
Essbase 块存储 (BSO) 计算函数可以应用于 BSO 大纲公式,其结果会影响从 Smart View 、MDX 及其他网格客户端执行的查询。可以使用相同的函数以及计算命令来编写过程计算脚本。
在 Autonomous AI Lakehouse 中处理的计算函数
在联合多维数据集中,以下计算函数将转换为 SQL,并在 Autonomous AI Lakehouse 中进行处理。未在此处列出的其他函数在 Essbase 中进行处理。
- @ABS
- @ALLANCESTORS
- @ANCEST
- @ANCESTORS
- @AVG(仅与 SKIPMISSING 选项一起使用)
- @AVGRANGE
- @CHILDREN
- @CURRMBR
- @DESCENDANTS
- @EXP
- @FACTORIAL
- @GENMBRS
- @IALLANCESTORS
- @IANCESTORS
- @ICHILDREN
- @IDESCENDANTS
- @INT
- @IRDESCENDANTS
- @ISANCEST
- @ISCHILD
- @ISDESC
- @ISGEN
- @ISIANCEST
- @ISIBLINGS
- @ISICHILD
- @ISIDESC
- @ISIPARENT
- @ISISIBLING
- @ISLEV
- @ISMBR(参数仅为一个成员名称时)
- @ISPARENT
- @ISSAMEGEN
- @ISSAMELEV
- @ISSIBLING
- @LEVMBRS
- @LN
- @LOG
- @LOG10
- @LSIBLINGS
- @MAX
- @MAXRANGE(例外:无 XrangeList 参数)
- @MAXS
- @MAXSRANGE(例外:无 XrangeList 参数)
- @MBRPARENT
- @MEDIAN(例外:无 XrangeList 参数)
- @MEMBERAT
- @MIN
- @MINRANGE(例外:无 XrangeList 参数)
- @MINS
- @MINSRANGE(例外:无 XrangeList 参数)
- @MOD
- @PARENT
- @POWER
- @RDESCENDANTS
- @RELATIVE
- @REMAINDER
- @ROUND
- @RSIBLINGS
- @SIBLINGS
- @SUM
- @SUMRANGE(例外:无 XrangeList 参数)
- @TRUNCATE
- @XREF
- @XWRITE
在 Autonomous AI Lakehouse 中处理的计算命令
在联合多维数据集中,以下 Essbase 计算命令将转换为 SQL,并在 Autonomous AI Lakehouse 中进行处理。
- AGG(例外:聚合动态计算成员,或使用非相加合并运算符聚合成员)
- CLEARDATA
- CLEARBLOCK(例外:无 NONINPUT 或 DYNAMIC 关键字)
- DATAEXPORT(例外:仅在使用以下数据导出选项时)
DATAEXPORTLEVEL ALL DATAEXPORTCSVFORMAT DATAEXPORTOVERWRITEFILE DATAEXPORTDECIMAL - IF...ENDIF
- ELSE...ELSEIF(表达式包含多个嵌套的 IF/ELSE 语句时,性能可能较低)
- EXCLUDE...ENDEXCLUDE
- LOOP...ENDLOOP
- DATACOPY
- 表达式包含数学运算的 FIX 语句赋值、IF/ELSE 语句、交叉引用,以及此页所列的支持的 @ 函数。
命令 ARRAY 和 VAR,以及在 CALC DIM 或 CALC ALL 中处理的动态公式都在 Essbase 中进行处理,性能可能较低。
联合多维数据集不支持一些计算命令,如果使用这些命令,将返回错误。请参见 Restrictions for Federated Cubes 。
如果您需要运行 Essbase 块存储 (BSO) 计算脚本,请选择密集维作为透视维。如果透视维是稀疏维,则联合多维数据集不支持计算脚本。
块计算模式(在 Essbase 配置设置 CALCMODE 设为 BLOCK 时启用)不适用于联合多维数据集。计算处理推送到 Autonomous AI Lakehouse 。如果存在异常,并且计算改为在 Essbase 服务器上处理,则由解析顺序确定相关性分析。
在基于 ASO 的联合多维数据集上执行自定义分配时,只能覆盖现有值。不能向现有值添加值或从其减去值。
其他限制
请参见 Restrictions for Federated Cubes 。
查询结果中的精度位数
计算联合多维数据集时, Autonomous AI Lakehouse 会部分处理计算和聚合。因此,与在非联合多维数据集中获取的值相比,查询结果的精度值可能略有不同。
Calculation Order
联合多维数据集中成员的计算优先级遵循在 Essbase 大纲中设置的已定义解决顺序。
能够运行 Essbase 计算和数据加载作业
对于基于块存储的联合多维数据集,默认情况下 Essbase 配置设置 FEDERATEDAVCALC 隐式设置为 TRUE。这使用户可以运行 Essbase BSO 计算并通过 Essbase 执行数据加载,以更新事实表中的记录。