小编Jon*_*ord的帖子

重新排序pivot_table的列/行?

熊猫的 pivot_table 似乎只按字母顺序返回列,这样

pivot_table(tips, 'tip_pct', rows=['sex', 'day'], cols='smoker', aggfunc=len)

给出:

  smoker     No  Yes
sex    day          
Female Fri   2   7  
       Sat   13  15
       Sun   14  4  
       Thur  25  7  
Male   Fri   2   8  
       Sat   32  27
       Sun   43  15
       Thur  20  10 
Run Code Online (Sandbox Code Playgroud)

如果我想把Thur上面FriYes左边No,我会怎么做?

python pivot-table pandas

6
推荐指数
2
解决办法
6098
查看次数

如何根据第二个 PowerPivot 表的行对一个 PowerPivot 表进行求和?

我有两张表:一张是客户表(“Donor”),一张是交易表(“Trans”)。在捐赠者中,我想要一个“总计”列,用于按特定捐赠者 ID 汇总所有交易,我将在标准 Excel 表格中计算该 ID,如下所示:

=SUMIF(Trans[Donor ID],[@ID],Trans[Amt])
Run Code Online (Sandbox Code Playgroud)

简单的!如何使用 DAX 公式做同样的事情?我想

=CALCULATE(SUM(Trans[Amt]),Trans[Donor ID]=[ID])
Run Code Online (Sandbox Code Playgroud)

会这样做,但我收到错误

Column "ID" cannot be found or may not be used in this expression.
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我使用

=CALCULATE(SUM(Trans[Amt]),Trans[Donor ID]=3893)
Run Code Online (Sandbox Code Playgroud)

确实得到了 ID 3893 的总数。

避开计算,我确实发现这是有效的:

=SUMX(FILTER(Trans, Trans[Donor ID]=[ID]),[Amt])
Run Code Online (Sandbox Code Playgroud)

...但它只允许一个过滤器,我需要能够添加更多过滤器,但是:

=SUMX(CALCULATETABLE(Trans, Trans[Donor ID]=[ID]),[Amt])
Run Code Online (Sandbox Code Playgroud)

...(我理解就像 FILTER 但允许多个)不起作用。

你能找出我做错了什么吗?

excel powerpivot dax

5
推荐指数
1
解决办法
4万
查看次数

标签 统计

dax ×1

excel ×1

pandas ×1

pivot-table ×1

powerpivot ×1

python ×1