使用过滤器计算唯一匹配项作为计算列

Count unique matching items with filter as a calculated column

我有两个 table 是数据和报告。

数据Table:

在数据 table 中包含三列,分别是项目、状态和过滤器。

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

状态栏包含两个不同的text/comments,“好的”和“不好的”

过滤器列包含两个不同的过滤器,即 A1 和 A2。

报告table

在报告 table 中,我将 comments/text 都更新为“好”或“不好”。我正在根据评论查找过滤器 A1 和 A2 的计数。

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

数据:

报告

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 )
)

我想你可以在 CALCULATE 中添加一个过滤器:

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
    )
)