powerbi - Power bi 计算比率

标签 powerbi dax

我有这张表:

Group   IP  Technology  Status
G1  IP1 T1  Passed
G1  IP1 T1  Passed
G1  IP1 T1  Failed
G1  IP1 T2  Failed
G1  IP1 T2  Failed
G1  IP1 T2  Passed
G1  IP2 T3  Passed
G1  IP2 T3  Failed
G2  IP3 T4  Passed
G2  IP3 T4  Passed
G2  IP3 T5  Passed
G2  IP3 T5  Passed
G2  IP4 T5  Passed
G2  IP4 T5  Passed
G2  IP4 T5  Passed
G2  IP2 T6  Passed
G2  IP2 T6  Passed
G2  IP2 T6  Passed
G2  IP2 T6  Passed

我必须排除一些技术(T2 和 T6)并计算以下内容:

100%Passed =
(# unique IPs that have 100% passed) /
    (total # unique IPs I need to be able to cut it in different ways)

我留下了失败的列以供引用

按 IP 划分的结果:

IP  Failed  Passed  Passed flag
IP1 33% 67%     No
IP2 50% 50%     No
IP3 0%  100%    Yes
IP4 0%  100%    Yes

技术结果:

Technology  Failed  Passed  Passed flag
T1  33% 67%     No
T3  50% 50%     No
T4  0%  100%    Yes
T5  0%  100%    Yes

技术结果:

Group   Failed  Passed  Passed flag
G1  40% 60%     No
G2  0%  100%    Yes

我的想法是创建两列来计算唯一 IP,然后创建一个度量来计算 %Passed

我创建了以下列:

Numerator =
IF (
    AND (
        'Table'[Status] = "Passed",
        'Table'[Technology] IN { "T1", "T3", "T4", "T5" }
    ),
    'Table'[IP],
    ""
)
Denominator =
IF ( 'Table'[Technology] IN { "T1", "T3", "T4", "T5" }, 'Table'[IP], "" )

此公式在此示例中有效,但当我将其应用于我的工作数据时,我收到此错误消息:

A single value for column ‘IP’ in the table ‘Table’ cannot be determined. This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such a min, max, count, or sum to get a single result

你知道我为什么收到此错误消息吗?

如果您有更好的解决方案来获取100%通过100%通过标志(是/否),请告诉我。

提前致谢。

最佳答案

这里有一些问题。首先,您收到的错误表明您正在尝试创建度量而不是计算列。其次,您的 IP 列不是数字,因此除法无论如何都不起作用。

我假设您实际上正在尝试制定一种进入可视化列而不是计算列的度量。

使用切片器和计算行数和列上的状态的度量:

Matrix Visual

您可以按如下方式计算通过百分比(仅包括特定技术):

Passed% = 
CALCULATE (
    DIVIDE (
        CALCULATE ( COUNTROWS ( Table1 ), KEEPFILTERS ( Table1[Status] = "Passed" ) ),
        CALCULATE ( COUNTROWS ( Table1 ), ALL ( Table1[Status] ) )
    ),
    KEEPFILTERS ( Table1[Technology] IN { "T1", "T3", "T4", "T5" } )
)

(注意:我使用 KEEPFILTERS 添加到过滤器上下文,而不是完全替换它。)

编写 100%Passed 标志度量很容易:

100%Passed = 
IF ( NOT ISBLANK ( [Passed%] ), IF ( [Passed%] = 1, "Yes", "No" ) )

由于我们已将 Technology 过滤器添加到度量中,因此即使不使用切片器,表格也应如我们所期望的那样:

enter image description here

关于powerbi - Power bi 计算比率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61764266/

相关文章:

powerbi - 电源双 : Link Tables

powerbi - 在 Power BI 中向月份数字添加前导 0(零)

python - Power BI 中 Python 可视化中时间序列的最佳数据格式是什么?

PowerBI:列中的最后 3 个非空白值

scripting - 从脚本实例化 Power BI 模板

postgresql - Power BI 实时连接到 PostgreSQL

使用附加条件查找第二个最小值的 DAX 公式

sql - 使用 MDX 或 DAX 列出二维的交叉连接

excel - DAX - 运行总计 - 多个标准 + 分组

sum - PowerBI Veil 总计是否有不符合阈值的公开单元格值