Powerbi 如何获取Power BI中行主组总数的子组百分比?

Powerbi 如何获取Power BI中行主组总数的子组百分比?,powerbi,Powerbi,我意识到这个问题一点也不自明,下面有一个详细的解释。我试图在Power BI中创建一个堆叠条形图,它基本上显示了两个子组在各自行上占其总数的百分比。我在下面附上了一张照片,展示了它的样子 a和b是每个人的相同项目。该报告是每月一次的,因此将根据上个月的数据进行过滤。总计是跨越三个类别的a+b总计;这些是我在总计栏中用绿色突出显示的重要项目。我想用3类中的项目除以它们各自的行/组总数,然后用绿色的项目除以总计列中绿色的项目,制作堆叠条形图 下面是我为获得这些结果而手动执行的操作。我把绿色的项目,

我意识到这个问题一点也不自明,下面有一个详细的解释。我试图在Power BI中创建一个堆叠条形图,它基本上显示了两个子组在各自行上占其总数的百分比。我在下面附上了一张照片,展示了它的样子

a和b是每个人的相同项目。该报告是每月一次的,因此将根据上个月的数据进行过滤。总计是跨越三个类别的a+b总计;这些是我在总计栏中用绿色突出显示的重要项目。我想用3类中的项目除以它们各自的行/组总数,然后用绿色的项目除以总计列中绿色的项目,制作堆叠条形图

下面是我为获得这些结果而手动执行的操作。我把绿色的项目,做另一个表,然后简单地把它们分开,得到百分比

然后,我插入一个堆叠条形图,并选择人员和2个具有百分比值的分组。这张图是我想要的最终结果

我尝试了至少8次迭代,但都没有成功。Power BI对我来说有些陌生,我很难将我在Excel中所知道的如何操作转换为Power BI

我真诚地感谢你给我的任何帮助

找到了


=DIVIDE(COUNTA(Categories)、CALCULATE(COUNTA(Categories)、ALLEXCEPT(Table、Person、Month))

正如我在上面的评论中提到的,数据结构在示例数据中似乎不是实际格式。如果我猜你的样本数据在下面的结构-

现在,选择列personab,并应用unpivot其他列,如下所示-

现在,将属性列重命名为类别,最终结果如下所示-

现在,单击“关闭并应用”按钮返回报告,并创建以下3个度量-

percentage_a = 

VAR person_a_cate_3_sum = 
CALCULATE(
    SUM(your_table_name[Value]),
    FILTER(
        ALLEXCEPT(
            your_table_name,
            your_table_name[person]
        ),
        your_table_name[category] = "category3"
        && your_table_name[ab] = "a"
    )
)

VAR person_wise_total = 
CALCULATE(
    SUM(your_table_name[Value]),
    ALLEXCEPT(your_table_name,your_table_name[person])
)

RETURN person_a_cate_3_sum/person_wise_total
最后,如果我们在表格visual中添加上述所有度量,则输出如下所示-

现在为条形图创建以下内容度量值

percentage_a_b = 

VAR person_a_cate_3_sum = 
CALCULATE(
    SUM(your_table_name[Value]),
    FILTER(
        ALLEXCEPT(
            your_table_name,
            your_table_name[person],
            your_table_name[ab]
        ),
        your_table_name[category] = "category3"
    )
)

VAR person_wise_total = 
CALCULATE(
    SUM(your_table_name[Value]),
    ALLEXCEPT(
        your_table_name,
        your_table_name[person]
    )
)

RETURN person_a_cate_3_sum/person_wise_total
现在按如下所示配置条形图-

这是最终输出-

人约翰和“a”和“b”是否在同一列中?如果没有,请显示示例数据的实际数据结构。
calculating_total = 
CALCULATE(
    SUM(your_table_name[Value]),
    ALLEXCEPT(your_table_name,your_table_name[person])
)
percentage_a_b = 

VAR person_a_cate_3_sum = 
CALCULATE(
    SUM(your_table_name[Value]),
    FILTER(
        ALLEXCEPT(
            your_table_name,
            your_table_name[person],
            your_table_name[ab]
        ),
        your_table_name[category] = "category3"
    )
)

VAR person_wise_total = 
CALCULATE(
    SUM(your_table_name[Value]),
    ALLEXCEPT(
        your_table_name,
        your_table_name[person]
    )
)

RETURN person_a_cate_3_sum/person_wise_total