Filter 将具有筛选器的唯一匹配项计数为计算列

Filter 将具有筛选器的唯一匹配项计数为计算列,filter,powerbi,dax,summarize,discount,Filter,Powerbi,Dax,Summarize,Discount,我有两个表是数据表和报告表 数据表: 数据表中包含三列:项、状态和筛选器 项目包含重复条目,项目列包含文本和数字或仅数字或仅文本 “状态”列包含两个不同的文本/注释,“正常”和“不正常” 过滤柱包含两个不同的过滤器,分别为A1和A2 报表 在报告表中,我将注释/文本更新为“好”或“不好”。我正在根据评论寻找过滤器A1和A2的计数 我想在报告表中创建一个新的计算列,以便根据注释获取唯一计数,并根据数据表列项目和状态进行筛选 数据: 报告 Alexis Olson帮助以下计算列获得唯一计数。我试

我有两个表是数据表和报告表

数据表:

数据表中包含三列:项、状态和筛选器

项目包含重复条目,项目列包含文本和数字或仅数字或仅文本

“状态”列包含两个不同的文本/注释,“正常”和“不正常”

过滤柱包含两个不同的过滤器,分别为A1和A2

报表

在报告表中,我将注释/文本更新为“好”或“不好”。我正在根据评论寻找过滤器A1和A2的计数

我想在报告表中创建一个新的计算列,以便根据注释获取唯一计数,并根据数据表列项目和状态进行筛选

数据:

报告

Alexis Olson帮助以下计算列获得唯一计数。我试图在现有的DAX计算列中再添加一个过滤器,但它不起作用。你能给个建议吗

1.Desired Result =
VAR Comment = REPORT[COMMENTS]
RETURN
    CALCULATE (
        DISTINCTCOUNT ( DATA[ITEM] ),
        DATA[STATUS] = Comment
    )
    
2.Desired Result =
COUNTROWS (
    SUMMARIZE (
        FILTER ( DATA, DATA[STATUS] = REPORT[COMMENTS] ),
        DATA[ITEM]
    )
)

3.Desired Result =
SUMX (
    DISTINCT ( DATA[ITEM] ),
    IF ( CALCULATE ( SELECTEDVALUE ( DATA[STATUS] ) ) = REPORT[COMMENTS], 1, 0 )
)

我认为您可以添加一个过滤器来计算:

Filter by A1 Result =
VAR Comment = REPORT[COMMENTS]
RETURN
    CALCULATE (
        DISTINCTCOUNT ( DATA[ITEM] ),
        DATA[STATUS] = Comment,
        DATA[FILTER] = "A1"
    )
对于第二种方法

Filter by A1 Result =
COUNTROWS (
    SUMMARIZE (
        FILTER ( DATA, DATA[STATUS] = REPORT[COMMENTS] && REPORT[FILTER] = "A1" ),
        DATA[ITEM]
    )
)
我不建议使用第三个,但它将是这样的

Filter by A1 Result =
SUMX (
    DISTINCT ( DATA[ITEM] ),
    IF (
        CALCULATE ( SELECTEDVALUE ( DATA[STATUS] ) ) = REPORT[COMMENTS]
            && CALCULATE ( SELECTEDVALUE ( DATA[FILTER] ) ) = "A1",
        1,
        0
    )
)

谢谢你的帮助和建议。它工作得很好。您能告诉我如何添加过滤列吗?请使用以下两个公式。2.期望结果=计数行(汇总(筛选(数据,数据[状态]=报告[注释]),数据[项目])3.期望结果=汇总(不同(数据[项目]),如果(计算(SELECTEDVALUE(数据[状态]))=报告[注释],1,0))我建议只使用第一个,但请看我的编辑。非常感谢您的快速回复。我会跟进你的建议。