如何使用 Dax 作为计算列对 Totaledd 列进行排名

问题描述 投票:0回答:1

我有一个数据集,其中包含杂货店名称、部门名称、员工姓名...我正在尝试按部门计算员工人数,以获取按部门的员工总数,然后将部门从最大 (1) 到每个杂货店中最小的。关于如何做到这一点有什么想法吗?

这里的函数——总计员工人数,然后对它们进行排名。我附上了我的数据集的图像和我试图创建的列(黄色列)。

非常感谢您的任何帮助/建议。我真的很感激。

数据集和结果

我尝试了下面的公式,它有效。它对最大到最小的部门进行排名,但它不会按商店将其分解...因此肉类将是 1,农产品/玩具/电子产品将是 2,冷冻/库存将是 3,熟食店/户外将是 4。 . 与所有杂货店有关.. 我需要玩具为 1 等。

=RANKX ( 全部(表1[商店]),

    CALCULATE(COUNTA([EmployeeName]), ALLExcept(table1,table1[store])))

`

dax calculated-columns powerpivot
1个回答
0
投票

你可以试试这个

Column =
VAR _tbl =
    SUMMARIZE (
        'Table',
        'Table'[Store],
        'Table'[Product],
        "count", COUNT ( 'Table'[Employee Name] )
    )
VAR _tbl2 =
    ADDCOLUMNS (
        _tbl,
        "rank", RANKX ( FILTER ( _tbl, [Store] = EARLIER ( [Store] ) ), [count],, DESC )
    )
RETURN
    MAXX (
        FILTER (
            _tbl2,
            'Table'[Store] = EARLIER ( [Store] )
                && 'Table'[Product] = EARLIER ( [Product] )
        ),
        [rank]
    )

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.