基于两个过滤器的单个表上的单个不同计数度量 - 单个表的不同行上的每个过滤器值

时间:2016-04-13 15:13:46

标签: excel powerpivot dax

我正在尝试向我的团队成员演示一些更复杂的DAX / powerpivot概念。我想出了一个例子来介绍它们,但我认为实际上可能是不可能的。

很高兴将这个例子改成别的东西,但这确实激起了我的兴趣。有谁知道怎么做?

这是一些示例数据,单表,没什么花哨的......

    Child ID | Type      | Parent ID
    1        | A         | 1
    1        | A         | 2
    1        | B         | 3
    1        | C         | 4
    2        | B         | 436
    2        | B         | 983
    2        | A         | 24
    2        | A         | 444
    3        | A         | 67
    3        | A         | 67
    3        | B         | 4
    3        | B         | 3

我想做的是 - 每个孩子ID,A类别的不同计数家长ID,其父ID是4,归属于某个地方......在一个单一的衡量标准中......

因此,枢轴中的结果将是....

    Child ID | DCnt_PiD
    1        | 2
    2        | 0
    3        | 1

我在DAX查询编辑器中玩过这个,尝试交叉连接,生成混合addcolumns等但它们不起作用(不能加入具有相同列id的表等)。

然后,该措施将通过桥牌表与另一张表相关联,因此不能使用枢轴我害怕......

有人有任何想法吗?

干杯

1 个答案:

答案 0 :(得分:0)

在DAX查询中破解它,现在是时候把它变成一个措施了!

EVALUATE
 (
    SUMMARIZE (
        FILTER (
            SUMMARIZE (
                table,
                table[Child_ID],
                table[Type],
                table[Parent_ID]
            ),
            table[Type] <> "B"
                && table[Type] <> "C"
                && CALCULATE (
                    COUNTROWS ( table ),
                    ALLEXCEPT ( table, table[Parent_ID], table[Child_ID] ),
                    table[Parent_ID] = 4
                )
                    > 0
        ),
        table[Child_ID],
        "DCnt_Pid", DISTINCTCOUNT ( table[Parent_ID] )
    )
)
ORDER BY [Child_ID]