标签: pivot-table

使用VBA过滤Excel数据透视表

我现在尝试从互联网上复制和粘贴解决方案,尝试使用VBA过滤Excel中的数据透视表.下面的代码不起作用.

Sub FilterPivotTable()
    Application.ScreenUpdating = False
    ActiveSheet.PivotTables("PivotTable2").ManualUpdate = True
    ActiveSheet.PivotTables("PivotTable2").PivotFields("SavedFamilyCode").CurrentPage = "K123223"
    ActiveSheet.PivotTables("PivotTable2").ManualUpdate = False
    Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)

我想过滤所以我看到所有行都有SavedFamilyCode K123223.我不想在数据透视表中看到任何其他行.无论先前的过滤器如何,我都希望它能够工作.我希望你能帮助我.谢谢!


根据你的帖子我正在尝试:

Sub FilterPivotField()
    Dim Field As PivotField
    Field = ActiveSheet.PivotTables("PivotTable2").PivotFields("SavedFamilyCode")
    Value = Range("$A$2")
    Application.ScreenUpdating = False
    With Field
        If .Orientation = xlPageField Then
            .CurrentPage = Value
        ElseIf .Orientation = xlRowField Or .Orientation = xlColumnField Then
            Dim i As Long
            On Error Resume Next ' Needed to avoid getting errors when manipulating fields that were deleted from the data …
Run Code Online (Sandbox Code Playgroud)

excel vba pivot-table filter excel-vba

8
推荐指数
3
解决办法
18万
查看次数

计算值的出现次数

我有一列带有重复值的文本值.我想创建一个新的唯一值列(没有重复)和一个具有每个值的频率的列.

最简单的方法是什么?效率不是很大,因为它不到10000行.

excel pivot-table count excel-formula countif

8
推荐指数
1
解决办法
2万
查看次数

Mysql查询在两列的基础上动态地将行转换为列

我在这里跟着一个问题,使用Mysql查询动态地将行转换为列.这工作正常,但我需要在两列的基础上转换它,

上面链接中提到的查询适用于单个列"数据",但我想工作两列"数据"和"价格".

我在这里添加了一个例子,

给出表A,看起来像

Table A

|  id|order|data|item|Price|
-----+-----+----------------
|   1|    1|   P| 1  | 50  |
|   1|    1|   P| 2  | 60  |
|   1|    1|   P| 3  | 70  |
|   1|    2|   Q| 1  | 50  |
|   1|    2|   Q| 2  | 60  |
|   1|    2|   Q| 3  | 70  |
|   2|    1|   P| 1  | 50  |
|   2|    1|   P| 2  | 60  |
|   2|    1|   P| 4 …
Run Code Online (Sandbox Code Playgroud)

mysql sql pivot pivot-table

8
推荐指数
1
解决办法
3万
查看次数

如何使用Pandas将二维表(DataFrame)反转为一维列表?

我正在寻找Python/Pandas的提示,将二维表反转为一维列表.

我通常利用Excel函数来完成它,但我相信有一种聪明的Python方法可以做到这一点.

Excel方式的更多细节:http: //www.extendoffice.com/documents/excel/2461-excel-reverse-pivot-table.html

python pivot-table dataframe pandas

8
推荐指数
1
解决办法
7467
查看次数

分享PivotCache for PivotTables使用数据模型构建

我只是清理我的工作簿,并使用以下代码来整合我的PivotCaches(在清理之前我有大约200个).

Sub changeCache()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pc As PivotCache
Dim first As Boolean
On Error Resume Next

    For Each ws In ActiveWorkbook.Worksheets
        ws.Activate
        For Each pt In ActiveSheet.PivotTables

            If first = False Then
                Set pc = pt.PivotCache
                first = True
            End If 

            pt.CacheIndex = pc.Index

        Next pt
    Next ws

End Sub
Run Code Online (Sandbox Code Playgroud)

这使我的PivotCache数量减少到33.

Sub CountCaches()
  MsgBox ActiveWorkbook.PivotCaches.Count
End Sub
Run Code Online (Sandbox Code Playgroud)

它是33而不是1的原因是因为我有32个使用数据模型构建的数据透视表.

我的问题是:有谁知道如何更改使用数据模型构建的数据透视表以使用相同的PivotCache?

编辑

我的第二个问题是:多个数据透视表都建立在数据模型上

a)引用单一数据模型; 要么

b)每个都有自己的模型,因此"膨胀"Excel文件

EDIT2

在进一步探索时,似乎数据模型是 …

excel vba pivot-table excel-vba

8
推荐指数
1
解决办法
1092
查看次数

创建带有计数和百分比的列联表 Pandas

有没有更好的方法可以使用 pd.crosstab() 或 pd.pivot_table() 在 Pandas 中创建列联表来生成计数百分比

当前解决方案

cat=['A','B','B','A','B','B','A','A','B','B']
target = [True,False,False,False,True,True,False,True,True,True]

import pandas as pd
df=pd.DataFrame({'cat' :cat,'target':target})
Run Code Online (Sandbox Code Playgroud)

使用交叉表

totals=pd.crosstab(df['cat'],df['target'],margins=True).reset_index()
percentages = pd.crosstab(df['cat'],
   df['target']).apply(lambda row: row/row.sum(),axis=1).reset_index()
Run Code Online (Sandbox Code Playgroud)

和合并

summaryTable=pd.merge(totals,percentages,on="cat")
summaryTable.columns=['cat','#False',
    '#True','All','percentTrue','percentFalse']
Run Code Online (Sandbox Code Playgroud)

输出

+---+-----+--------+-------+-----+-------------+--------------+
|   | cat | #False | #True | All | percentTrue | percentFalse |
+---+-----+--------+-------+-----+-------------+--------------+
| 0 | A   |      2 |     2 |   4 | 0.500000    | 0.500000     |
| 1 | B   |      2 |     4 |   6 | 0.333333    | 0.666667 …
Run Code Online (Sandbox Code Playgroud)

python pivot-table crosstab pandas

8
推荐指数
1
解决办法
4047
查看次数

使用VBA将值设置为.Function

我目前有一个功能集,它将所选枢轴表的所有值更改为平均值.

它工作正常,我已经组装了一个表单,它传递一个工作正常的值.

在这一点上我想做的是让它决定将值转换为什么.

但是,我不断收到Type-Mismatch错误.这是因为它被读作字符串.我该如何调整呢?

Private Sub CommandButton1_Click()
  MsgBox xl & ListBox1.Value
  Dim ptf As Excel.PivotField
  With Selection.PivotTable
    .ManualUpdate = True
    For Each ptf In .DataFields
      With ptf
        .Function = "xl" & ListBox1.Value 'xlAverage works here
        .NumberFormat = "#,##0"
      End With
    Next ptf
    .ManualUpdate = False
  End With
End Sub

Private Sub ListBox1_Click()
End Sub

Private Sub UserForm_Click()
End Sub        

Private Sub UserForm_Initialize() 'Set Values Upon Opening       
  With ListBox1
    .AddItem "Sum"
    .AddItem "Count"
    .AddItem "Average"
    .AddItem "Max"
    .AddItem "Min" …
Run Code Online (Sandbox Code Playgroud)

excel vba pivot-table excel-vba

8
推荐指数
1
解决办法
457
查看次数

将pivottablejs图保存到文件中

我已经开始使用该包pivottablejs来操作和可视化python中的数据透视表.

from pivottablejs import pivot_ui
pivot_ui(df)  # where df is a pandas dataframe
Run Code Online (Sandbox Code Playgroud)

将在jupyter笔记本中生成交互式数据透视表/情节.

是否有任何pythonic方法可以将这个软件包产生的数据保存到pngjupyter笔记本中?我正在寻找类似于经典的东西plt.savefig('file.png').前端本质上是javascript,我不知道如何(或者是否可能)通过python访问javascript数字.

javascript python pivot-table pandas jupyter-notebook

8
推荐指数
1
解决办法
738
查看次数

数据透视表中的计算字段将一列除以另一列 EXCEL

我的数据透视表中有两列。工单计数和成本总和。我想插入一个计算字段,该字段只需将成本总和除以工单数量即可获得每个工单的平均值。

当我插入带有以下公式的计算字段时,它会产生总成本,而不是平均值。您将看到字段为小计(成本)和 WO#(工单)

在此输入图像描述

这是我的数据透视表中的输出。

在此输入图像描述

excel pivot-table

8
推荐指数
1
解决办法
13万
查看次数

Google Sheets 数据透视表计算每个数据值的出现次数

如何在 Google 表格中获取数据透视表,其中的列显示某个值在列中出现的次数?
我知道可以使用该countif函数来完成,但我想使用数据透视表来完成。

pivot-table count google-sheets

8
推荐指数
2
解决办法
2万
查看次数