8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

有没有办法使用 PowerPivot(不是 Power Query)来取消透视数据

MatFied 1月前

16 0

我有一个包含 50 多列的数据集,其中包含月度销售数据。我无法访问基础数据,但我需要能够操作数据。以下是数据集的一个示例,...

我有一个包含 50 多列的数据集,其中包含月度销售数据。我无法访问基础数据,但我需要能够操作数据。下面是数据集的一个示例,有没有办法将一月、二月、三月放入名为“月份”的列中,并将基础数据放入名为“值”的新列中?我知道这可以在 Excel Power Query 中轻松完成,但我没有使用 Power Query 的选项。

enter image description here

帖子版权声明 1、本帖标题:有没有办法使用 PowerPivot(不是 Power Query)来取消透视数据
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由MatFied在本站《excel》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 用于取消透视表的通用宏

    您可以使用下一个宏来取消透视任何表:

    Sub Unpivot()
      Dim cws As Worksheet, vs As Long, cr As Long, cc As Long, i As Long, k As Long
      Dim dr As Long, dc As Long, da As Long, ca As Variant, cb As Variant
      Dim left As Long, right As Long, up As Long, down As Long
      cr = ActiveCell.Row: cc = ActiveCell.Column
      left = ActiveCell.End(xlToLeft).Column: up = ActiveCell.End(xlUp).Row
      right = cc: While Not IsEmpty(Cells(cr, right + 1)): right = right + 1: Wend
      down = cr: While Not IsEmpty(Cells(down + 1, cc)): down = down + 1: Wend
      Set cws = ActiveSheet: ThisWorkbook.Sheets.Add: i = 1
      cws.Range(cws.Cells(cr - 1, left), cws.Cells(cr - 1, cc - 1)).Copy
      [A1].PasteSpecial xlPasteValues: dr = cr - up: dc = cc - left + 1
      If dr > 1 Then
        cws.Range(cws.Cells(up, cc - 1), cws.Cells(cr - 2, cc - 1)).Copy
        Cells(1, dc).PasteSpecial Paste:=xlPasteValues, Transpose:=True
      End If
      da = dc + dr:   Cells(1, da - 1) = "TBD":   Cells(1, da) = "Value"
      k = 2: vs = right - cc + 1: dr = dr + 1
      cb = WorksheetFunction.Transpose(cws.Cells(up, cc).Resize(cr - up, right - cc + 1))
      For i = cr To down
        ca = cws.Range(cws.Cells(i, left), cws.Cells(i, cc - 1))
        Cells(k, 1).Resize(vs, dc - 1) = ca: Cells(k, dc).Resize(vs, dr) = cb
        cws.Cells(i, cc).Resize(1, vs).Copy
        Cells(k, da).PasteSpecial Paste:=xlPasteValues, Transpose:=True
        k = k + vs
      Next
    End Sub
    

    在表格中(它可以位于工作表上的任何位置,并且应受数据透视表单元格的行和列中的空单元格的限制),选择数据透视表单元格:

    enter image description here

    然后运行宏。结果表将在新工作表上创建:

    enter image description here

    源表可以包含任意数量的公共列和标题行:

    enter image description here

  • 您有 SQLServer 选项吗?您可以编写一段简单的代码来在 excel 中取消透视数据。据我所知,在 excel 和 SQL 中,当您取消透视时,您只会获得屏幕截图中显示的数据。因此,如果数据透视表排除了数据,我不确定您是否会将其恢复

  • 为什么没有使用 Power Query 的选项?如果数据在 Excel 中,您可以将其加载到 Power Query 中,然后将其加载到数据模型中。

返回
作者最近主题: