我想计算一项措施的百分比。 例如: 我有一个聚合器distinct-count的度量。 我想根据当前的信息计算出该度量的百分比。
For example: gender users-distinct-count percentage
male 25 25% (25/100)
female 41 41% (41/100)
unk 34 34% (34/100)
But, if I filter out unk, I want the percentage to be out of 25+41, i.e. 66
gender users-distinct-count percentage
male 25 37.8% (25/66)
female 41 %62.2 (41/66)
我还想要的是,在查看具有不同维度的数据时,总和将相应更新。
我试过了:
<CalculatedMember name="user_percentage" caption="Users Percentage"
formula="[Measures].user_count/ ([Measures].user_count,[dim1].[All Dim1],[dim2].[All Dim2])" dimension="Measures" visible="true">
</CalculatedMember>
但是,当过滤维度上的值时(比如删除 “unk”,总数保持不变(在所有暗淡的情况下)。
谢谢,
答案 0 :(得分:2)
您应该在客户端级别而不是架构级别执行此操作。
模式不知道您在行或列上查询的内容,只有客户端查询。
某些客户端工具允许您以可见值的百分比形式创建计算度量,但这必须由查询完成。
示例:
With
SET ROWSET as {[Gender].[Male],[Gender].[Female]}
MEMBER [Gender].[Visible] as Aggregate( ROWSET, [Measures].[user_count] )
MEMBER [Measures].[Percentage] as ( [Measures].[user_count], [Gender].CurrentMember ) / ( [Measures].[user_count], [Gender].[Vislble] )
SELECT
ROWSET on Rows,
{ [Measures][user_count], [Measures].[Percentage] } on Columns
FROM [My Cube]
由于在定义百分比时必须引用在行上选择的集合,因此无法在架构级别定义它。