excel - 如何使用 Excel/Power Pivot 将每周数据拆分为每月数据?
问题描述
我的数据在每周存储桶中。我想将这个数字分成每月的数字,但是由于两个月的天数重叠,我想要每个月的天数的加权平均值。例如:
现在,在上图中,我想拆分那 200 个(1 月为 5/7*200,2 月为 2/7)。如何使用 Excel/Power Pivot/Dax 函数来做到这一点?非常感谢这里的任何帮助。
谢谢!
解决方案
假设您的事实表如下所示。值与它发生的一周的开始日期相关联。
尽管它实际上可能是一个更细粒度的数据,每周都有多行具有附加属性(例如人的标识符,商店,取决于业务),但下面显示的内容将是相同的。
我们首先需要做的是创建一个日期表。我们可以在“设计”选项卡中执行此操作,方法是单击“日期表”,然后单击“新建”。
在这个日期表中,我们需要为每一行的日期所在的星期的开始日期添加一列。将光标置于“添加列”区域,然后输入以下公式。然后将此列重命名为“周开始日期”。
= [Date] - [Day Of Week Number] + 1
现在,我们可以使用以下公式定义计算分配给每个月的数量的度量。这项措施的作用是:
- 遍历事实表的每一行
- 计算过滤器上下文中可见的一周的天数
- 添加可见日期的值部分
Value Allocation := SUMX (
MyData,
VAR WeekStartDate = MyData[Week]
VAR NumDaysInSelection = COUNTROWS (
FILTER (
'Calendar',
'Calendar'[Week Start Date] = WeekStartDate
)
)
VAR AllocationRate = DIVIDE ( NumDaysInSelection, 7 )
RETURN AllocationRate * MyData[Value]
)
数据透视表中的结果将如下所示。
推荐阅读
- r - 从变量组合创建数据框
- c++ - 学生学习 在 Visual Studio 2019 命令行中创建 GUI 窗口
- java - 报告加载后如何在 BIRT 中异步调用方法
- c - 非静态可以跟随静态,但静态不能跟随非静态?
- python - 在没有任何库的情况下将此公式转换为原始 python
- outlook - 轮询 Outlook 邮件文件夹(收件箱)偶尔会返回 ErrorInvalidMailboxItemId
- javascript - 将 django 上下文数据传递到前端,模板中没有内联脚本
- html - Web:将内容完美居中,但在顶部有一个不会将内容下推的 div
- google-bigquery - 如何在 Big Query 视图中计算短语
- parsing - Antlr parser StackOverflowException(用于解析正则表达式)