【问题标题】:Grouping data by week in an Excel pivot table which has distinct count在具有不同计数的 Excel 数据透视表中按周对数据进行分组
【发布时间】:2020-11-12 22:16:38
【问题描述】:

我的原始数据如下所示:raw_data

我想按周对这些数据进行分组,显示每个观众每周观看的不同节目的数量。 数据应如下所示。 ExpectedOutput

我创建了一个原始数据的数据透视表,如下所示:Pivot1

在创建数据透视表时,我选择了“将此数据添加到数据模型”,因为我想要查看的节目的不同计数,这是使不同计数选项可用的唯一方法。不幸的是,选择数据模型选项会限制可用的分组选项,因为您无法按周分组。

所以,我尝试创建我的枢轴的枢轴,但没有将数据添加到数据模型以查看是否可行,但它没有,因为列标题不是日期,所以分组功能被禁用。

我真的被这个问题困住了,所以任何帮助都将不胜感激。

【问题讨论】:

    标签: excel pivot-table grouping distinct-values


    【解决方案1】:

    Power Query 在 Excel 2010+ 中可用,可用于创建此类报告。

    (我尝试使用数据透视表,但无法按照您的喜好显示列标题,并且也正确排序。

    要使用 Power Query,根据您的 Excel 版本,转到“数据”选项卡并选择“从表/范围获取和转换”(或 2016 之前版本中的等效项)。

    然后:

    • 将日期/时间列仅转换为日期
    • 为一周的开始添加一列并将其格式化dd/MM/yyyy

    • 为一周开始 + 6 天添加一列并格式化dd/MM/yyyy

    • 使用“-”作为分隔符合并 wkStart 和 wkEnd 列。
    • 删除现在不需要的列
    • Group 按周和查看者 ID,按唯一行数聚合

    • 以一周为中心

    瞧!

    以上所有操作都可以通过 Power Query 的 UI 完成。下面是生成的 M-Code。

    如果您将数据转换为表格,您只需将 M-Code 粘贴到 PQ 编辑器中,然后将第二行中的表格名称更改为您的表格的真实名称。

    let
        Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Viewer ID", Int64.Type}, {"DatTime", type date}, {"ShowID", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "wkStart", each Date.ToText(Date.StartOfWeek([DatTime],Day.Monday),"dd/MM/yyyy")),
        #"Added Custom1" = Table.AddColumn(#"Added Custom", "wkEnd", each Date.ToText(Date.AddDays(Date.StartOfWeek([DatTime],Day.Monday),6),"dd/MM/yyyy")),
        #"Inserted Merged Column" = Table.AddColumn(#"Added Custom1", "Week", each Text.Combine({[wkStart], [wkEnd]}, " - "), type text),
        #"Removed Columns" = Table.RemoveColumns(#"Inserted Merged Column",{"wkStart", "wkEnd", "DatTime"}),
        #"Grouped Rows" = Table.Group(#"Removed Columns", {"Week", "Viewer ID"}, {{"Count", each Table.RowCount(Table.Distinct(_)), Int64.Type}}),
        #"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[Week]), "Week", "Count", List.Sum)
    in
        #"Pivoted Column"
    

    【讨论】:

    • @ScarlettLouis 很高兴为您提供帮助。我只是在学习 PQ 的来龙去脉。它可以做很多我仍在努力解决的事情。
    • 我不知道为什么我之前的评论消失了。诡异的。但无论如何,再次感谢你。你为我节省了几个小时。
    猜你喜欢
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多