本文主要是介绍mondrian中用mdx计算父级百分比和整体百分比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
mdx计算父级百分比:
- With
- //整体百分比
- Member [Measures].[用户的百分比1] as
- ([Measures].[总用户] / ([Measures].[总用户], [时间].CurrentMember.Parent))
- , format_string = "|#.00%|"
- Member [Measures].[用户的百分比2] as
- ([Measures].[总用户] / ([Measures].[总用户], [客户].CurrentMember.Parent, [时间].CurrentMember.Parent))
- , format_string = "|#.00%|"
- SELECT
- NON EMPTY {[Measures].[总用户], [Measures].[用户的百分比1], [Measures].[用户的百分比2]} ON COLUMNS,
- NON EMPTY CrossJoin([客户].[客户编号].Members, [时间].[日].Members) ON ROWS
- FROM [TotalUserCube]
mdx计算整体百分比
- With
- //整体百分比
- Member [Measures].[用户的整体百分比] as
- ([Measures].[总用户] / ([Measures].[总用户], [时间].[All 时间s]))
- , format_string = "|#.00%|"
- SELECT
- NON EMPTY {[Measures].[总用户], [Measures].[推送用户的百分比]
- } ON COLUMNS,
- NON EMPTY {Hierarchize({[时间].[日].Members})} ON ROWS
- FROM [TotalUserCube]
好的,你已经获得了你想要的精确的计算指标。然而你不可能让用户也去看这些复杂的MDX表达式,并且做复制和粘贴。此外,随着时间推移,这些表达式还可能发生变化。所以,一个更好的办法是,让这些MDX成为你的cube的一部分。这样,你的用户就可以仅仅引用它们,而不需要理会这些表达式的复杂性。
在Mondrian的设计器Schema Workbench中配置如下指标,其xml如下:
- <CalculatedMember name="User Percent of Total" dimension="Measures" formula="([Measures].[总用户] / ([Measures].[总用户], [时间].CurrentMember.Parent))" />
这篇关于mondrian中用mdx计算父级百分比和整体百分比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!