ssas - 具有多个属性层次结构的计算成员 - MDX
问题描述
我找到了这个小代码,它可以TOTAL
为我想要的所有维度/层次结构动态计算 s。
这接近我所需要的,但不适用于具有不同数量的层次结构级别(属性层次结构)的维度。当前代码仅在只有一个属性层次结构时才有效,因为CurrentMember.Parent
. 我可以使用CurrentMember.Parent.Parent
它Dimension.Hierarchy
有两个级别,依此类推,但不适用于只有一个属性层次结构(级别)的那些。
CALCULATE;
CREATE MEMBER CURRENTCUBE.[Measures].[Total On Hand Amount]
AS ([Measures].[On Hand Amount],Axis(1).Item(0).Item(0).Dimension.CurrentMember.Parent),
FORMAT_STRING = "#,#",
VISIBLE = 1 ;
我想让这个 MDX 代码适用于任何 Dimension.Hierarchy,无论属性层次结构(级别/秒)的数量如何。
任何帮助表示赞赏!
解决方案
(Axis(1).Item(0).Item(0).Dimension.Levels(0).Item(0), [Measures].[On Hand Amount])
上面给了我正确的答案,total 用于衡量任何维度的动态选择,但这个 MDX 计算不适用于 PowerBI(DAX) 报告,这仅仅是 PowerBI 的限制。
我得到了 TOTAL 现在处理这个 -
SCOPE(DESCENDANTS([Warehouses].[Warehouses],,AFTER));
[Measures].[Total On Hand Amount] = (ROOT([Warehouses]),[Measures].[On Hand Amount]);
END SCOPE;
我只需为多维数据集中的每个 [Dimension].[Hierarchy] 重复此 SCOPE,以使 TOTAL 适用于任何选择,包括来自 Power BI 的多个维度。它没有 Axis() 那样的动态功能,但它产生了我需要的结果。
希望这对其他人也有帮助!
推荐阅读
- sql - SUM + CONVERT DATATIME VACHAR
- ssis - 如何使用 SSIS 将记录附加到现有 Power BI 表
- javascript - https://router.vuejs.org/ 如何通过平滑滚动实现原生搜索?
- javascript - 在 React 和 setState 中有条件地渲染组件/元素时出现问题
- c++ - 头文件中的类给出许多错误
- tensorflow - ModuleNotFoundError:没有名为“tensorflow.python.keras.engine.base_layer_v1”的模块
- excel - 从excel VBA将目录添加到word Doc
- android - 如何在 GridLayoutManager 中准备 setSpanSizeLookup
- vue.js - 输入空给0
- c - 如果 struct 类型在另一个 .c 文件中定义,它会变成不完整类型吗?