我有一个包含大约22000行数据的电子表格。我使用数据透视表来计算行数,我通过按月对它们进行排序来实现。然后还有另一行,我使用上个月的%差异。
当我使用切片器过滤月份时,%差异设置为零,因为它们无法与之前的值进行比较。
使用滤镜时是否有可能保持%差异?
作为解决方案,我现在正在创建一个新表,我将所有值复制到(= C1,= C2,= C3,...),然后将这些值与其他行的值组合,但这太复杂了为这么小的问题做了很多工作。
任何想法?
更新:
到目前为止(我使用的是2个excel文件,一个用于数据,另一个用于我的电源数据模型和仪表板)。我在工作中可以使用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
然后另一个选项卡,我根据数据制作一个数据透视表。在此数据透视表中,我可以自动拥有月份列,并拥有该月份的呼叫者数量。我可以轻松选择与之前的%差异,以查看通话量的差异。
Month | Difference
Jan |
Feb | -14,2%
Mar | +6,22%
...
-----------------------
%Diff
然后在我的其他excel文件中,我使用power pivot导入excel文件。 (获取外部数据)这给了我2个表。一个用于数据(数据),一个基于数据透视表中的数据。 (%DIFF)
在数据表中,我有一个名为Month的计算字段,将调用日期01/01/2017转换为Jan.I然后在连接月份的两个表之间创建关系。
这有效,但我不想在我的数据excel文件中创建数据透视表,我希望它尽可能干净,只将它作为数据源。
所以......我认为最终的目标是建立第三个相关表,其中colums是Month和%Diff,但是进入这些colums的数据来自此文件中的数据透视表。我试图创建一个数据透视表,然后复制我的数据模型中的单元格但不能建立任何关系,我不知道当我的数据更新时,新表也会更新:/
而且..我不知道为此创建一个数据透视表是否正确。不能直接从数据模型中完成吗?
答案 0 :(得分:1)
您有哪个版本的Excel?如果您使用Excel 2013或更高版本,则可以使用称为数据模型的内容来执行此操作。数据模型允许您使用名为DAX的类似Excel的公式语法编写可在数据透视表中使用的公式(称为Measures)。 DAX有一些非常方便的时间智能功能,可以轻松地比较一个时期和另一个时期。
Excel的高端版本捆绑了一个名为PowerPivot的用户界面,它可以让您在数据模型中处理大量数据。有关PowerPivot插件附带的版本列表,请参阅this link。但是,即使没有PowerPivot插件,您仍然可以使用低端版本编写DAX Measures,正如Mike Girvin的视频here所示。
答案 1 :(得分:0)
好的,设法解决它,感谢@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())
然后创建了第三个度量,计算与上个月的差异:
Inc % Diff:=IF[Incidents SPLM]<>0;([Number Of Incidents]/[Incidents SPLM])-1;BLANK())
et voila