首页 > 解决方案 > 如何按类别计算“整数”数据类型列的平均值

问题描述

我目前面临一个问题,我需要计算 no 的平均值。每个合同类型的批准人。但是这里的问题是审批者数据,即 (contract_approval_order_1) 字段只不过是用户 ID(整数数据类型)。因此,Power BI 未正确计算平均值,如下图所示。

我在列中尝试了以下公式:

Average Approver Order 1 Assigned =
DIVIDE (
    COUNT ( view_contracts[contract_approval_order_1] ),
    DISTINCTCOUNT ( view_contracts[contract_id] ),
    0
)

我期望 0.5 作为下面给出的样本数据的平均值。

在此处输入图像描述

标签: powerbidax

解决方案


使用以下 dax 公式创建度量:

Average Approver Order 1 Assigned = 
VAR __numerator = 
    CALCULATE( 
        COUNT ( view_contracts[contract_approval_order_1] ), 
        ALLEXCEPT( view_contracts, view_contracts[contract_approval_order_1] ) 
    )
VAR __denominator = 
    CALCULATE( 
        DISTINCTCOUNT ( view_contracts[contract_id] ), 
        ALLEXCEPT( view_contracts, view_contracts[contract_type] ) 
    )

Return 
    DIVIDE( __numerator, __denominator, 0 )

如果有其他过滤器或切片器影响您的表,则分母变量中的 ALLEXCEPT 语句可能会略有不同。

这是结果

在此处输入图像描述


推荐阅读