Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel透视表:使用切片器进行筛选,但保留与以前字段的%差异_Excel_Pivot Table - Fatal编程技术网

Excel透视表:使用切片器进行筛选,但保留与以前字段的%差异

Excel透视表:使用切片器进行筛选,但保留与以前字段的%差异,excel,pivot-table,Excel,Pivot Table,我有一个包含22000行数据的电子表格。我使用数据透视表来计算行数,并通过按月排序来完成。还有一行,我使用了上个月的%差异 当我使用切片器对月份进行筛选时,百分比差异设置为零,因为它们无法与以前的值进行比较 使用过滤器时是否有可能保持%的差异 作为解决方案,我现在创建一个新表,将所有值复制到(=C1,=C2,=C3,…),然后将这些值与其他行的值结合起来,但对于这样一个小问题来说,这太复杂,工作量太大 有什么想法吗 更新: 到目前为止我所拥有的(我正在使用两个excel文件,一个用于数据,

我有一个包含22000行数据的电子表格。我使用数据透视表来计算行数,并通过按月排序来完成。还有一行,我使用了上个月的%差异

当我使用切片器对月份进行筛选时,百分比差异设置为零,因为它们无法与以前的值进行比较

使用过滤器时是否有可能保持%的差异

作为解决方案,我现在创建一个新表,将所有值复制到(=C1,=C2,=C3,…),然后将这些值与其他行的值结合起来,但对于这样一个小问题来说,这太复杂,工作量太大

有什么想法吗


更新:

到目前为止我所拥有的(我正在使用两个excel文件,一个用于数据,另一个用于我的power pivot数据模型和仪表板)。我在工作中有excel 2016 Pro Plus可用

在我的第一个excel文件中,我有一个数据选项卡。每行代表天数:

Id | Call Date  | Caller
01 | 01/01/2017 | Mark
02 | 01/01/2017 | John
03 | 02/01/2017 | Susan
...
-----------------------
data
然后是另一个选项卡,我在其中根据数据创建透视表。在这个数据透视表中,我可以自动拥有一个月列,并拥有该月的呼叫者数量。我可以很容易地选择%difference from previous来查看通话量的差异

Month | Difference
Jan   | 
Feb   | -14,2%
Mar   | +6,22%
...
-----------------------
%Diff
然后在另一个excel文件中,我使用PowerPivot导入excel文件。(获取外部数据)这给了我两个表。一个用于数据(data),一个基于数据透视表中的数据。(%差异)

在数据表中,我有一个名为“月”的计算字段,该字段将调用日期2017年1月1日转换为1月。然后,我在两个表之间创建一个关系,并在其中连接月份

这是可行的,但我不想在我的数据excel文件中创建透视表,我希望它尽可能干净,并且只作为数据源

所以。。。我认为最终的目标是创建第三个相关表,其中列为Month和%Diff,但进入这些列的数据来自此文件中的透视表。我尝试创建透视表,然后复制数据模型中的单元格,但无法建立任何关系,我不知道当我的数据更新时,新表也会更新:/


和。。我不知道为这个创建透视表是否正确。不能直接从数据模型中完成吗?

您有什么版本的Excel?如果您有Excel 2013或更高版本,则可以使用称为数据模型的工具来完成此操作。数据模型允许您编写公式(称为度量值),您可以使用类似Excel的公式语法DAX在数据透视表中使用这些公式。DAX有一些非常方便的时间智能功能,可以方便地让您比较一个周期和另一个周期


Excel的高端版本附带了一个名为PowerPivot的UI,该UI允许您对数据模型中的数据进行大量处理。有关PowerPivot加载项附带的版本的列表,请参阅。但您仍然可以使用低端版本编写DAX度量,即使没有PowerPivot插件,正如Mike Girvin的视频所示

好的,多亏@jeffreyweir为我指明了正确的方向,我终于解决了这个问题。我使用数据模型用事件表和日期表(基本上是日历助手表)创建了数据库,然后用DAX公式创建了3个度量值

第一个度量值仅统计行调用号中的条目总数:

Number of Incidents:=COUNTA(Incidents[Call Number])
然后,我创建一个显示上个月值的度量:

Incidents SPLM:=IF([Number of Incidents]<>0;CALCULATE(COUNTA(Incidents[Call Number]);PREVIOUSMONTH(Calendar[Date]));BLANK())
incents SPLM:=IF([事件数]0;计算(COUNTA(事件[呼叫号码]);上个月(日历[日期]);BLANK()
然后创建了第三个度量,用于计算与上个月的百分比差异:

Inc % Diff:=IF[Incidents SPLM]<>0;([Number Of Incidents]/[Incidents SPLM])-1;BLANK())
Inc%Diff:=IF[Incidents SPLM]0;([事件数量]/[事件SPLM])-1;BLANK())

瞧,我在用excel 2010。我会看一下视频,看看能不能找到我要找的东西。谢谢好的,对于2010年,您必须实际下载并安装PowerPivot插件。我认为一个更简单的解决方案是继续沿着现有的路径前进,并利用未筛选的数据透视表和GETPIVOTDATA函数,这样您仍然可以从未筛选的表中引用上个月的数据点。晚些时候,但我会看看明天我是否能想出一个例子。那会很好,我对此感到惊讶。两个问题:为什么一月份没有数字?是因为你没有上一个12月的数据,还是因为你找不到参考12月数据的方法?您的日期是否都是字符串(即“一月”、“二月”等),或者数据透视表中是否有另一个字段将这些字段实际存储为数字日期?您好,没有一月的数字,因为它是第一个月,所以没有可比性。感谢我整天在你脑海里播放的歌曲:)我的日期是这样的日期字段:“2017年1月1日0:02:05 2017年1月1日0:04:07 2017年1月2日0:04:18”,所以在制作透视表后,它们会自动按月份分组。酷。既然我解决了这个问题,你能接受我的回答吗?