Sql server DAX在另一个分组上增加等级
我有一个包含如下数据的表:Sql server DAX在另一个分组上增加等级,sql-server,powerbi,dax,Sql Server,Powerbi,Dax,我有一个包含如下数据的表: StoreID | Week/End | Sales =========================== 1 | 9/2 | 10 2 | 9/2 | 5 3 | 9/2 | 3 1 | 9/9 | 5 2 | 9/9 | 2 3 | 9/9 | 10 =RANKX(ALL(Stores),
StoreID | Week/End | Sales
===========================
1 | 9/2 | 10
2 | 9/2 | 5
3 | 9/2 | 3
1 | 9/9 | 5
2 | 9/9 | 2
3 | 9/9 | 10
=RANKX(ALL(Stores), SUMX(RELATEDTABLE(Sales), [Sales]))
StoreID | Overall Rank
=======================
1 | 3
2 | 5
3 | 4
我需要做的是按周对销售额进行排名,然后将排名值相加
我用RANKX做了一个测量,如下所示:
StoreID | Week/End | Sales
===========================
1 | 9/2 | 10
2 | 9/2 | 5
3 | 9/2 | 3
1 | 9/9 | 5
2 | 9/9 | 2
3 | 9/9 | 10
=RANKX(ALL(Stores), SUMX(RELATEDTABLE(Sales), [Sales]))
StoreID | Overall Rank
=======================
1 | 3
2 | 5
3 | 4
这将为我提供下表:
StoreID | Week/End | Sales | Rank
=====================================
1 | 9/2 | 10 | 1
2 | 9/2 | 5 | 2
3 | 9/2 | 3 | 3
1 | 9/9 | 5 | 2
2 | 9/9 | 2 | 3
3 | 9/9 | 10 | 1
我现在需要做的是按存储区累加秩列,因此最终我将得到如下表:
StoreID | Week/End | Sales
===========================
1 | 9/2 | 10
2 | 9/2 | 5
3 | 9/2 | 3
1 | 9/9 | 5
2 | 9/9 | 2
3 | 9/9 | 10
=RANKX(ALL(Stores), SUMX(RELATEDTABLE(Sales), [Sales]))
StoreID | Overall Rank
=======================
1 | 3
2 | 5
3 | 4
因此存储1的值为3,因为w/E9/2为1,w/E9/9为2。商店2的总排名为5,因为w/e 9/2为2,w/e 9/9为3,依此类推
我会尝试在SQL中这样做,但不幸的是,我的一些基础数据在excel中,一些在SQL中,所以我需要在DAX或M中这样做
任何想法都将不胜感激 据我所知,您正在使用Power BI。如果您在tables菜单(第二个)中,我将使用列名StoreID和写入的变量1、2和3创建新表 然后在“关系”菜单(第三个)中,按StoreID连接这些列。当您返回到“表格”菜单中的第二个表格时,将有一个选项用于添加计算列,其中包括:
Overall_Rank= CALCULATE(SUM(first_table[Rank]))
当它们连接时,它将识别匹配的StoreID,因此不需要任何其他过滤器