mohitveer_sandhu
偶然的因素

为给定的时间增加价值

你好,

我有一个模块a与以下行项目,格式,和数据:

价值(格式=数量) 开始(格式=日期(年月)) 结束(格式=日期(年月))

101

1/1/2019 2/1/2019
201 3/1/2019 4/1/2020
301 5/1/2020 空白

我有另一个模块B与时间维度和一行项目-value_over_months映射到模块A和预期数据如下:

2019年1月- 2月19日 Mar-19 Apr-19 5月19日 Jun-19 Jul-19 8月19 Sep-19 10月19 11月19 12月19日 1月20日 Feb-20 Mar-20 Apr-20 5月20日 Jun-20 Jul-20 Aug-20 Sep-20 10月20 11月20 12月20日
value_over_months 101 101 201 201 201 201 201 201 201 201 201 201 201 201 201 201 301 301 301 301 301 301 301 301

我怎样才能做到这一点?

1接受解决方案

接受的解决方案
rob_marshall
主持人

Re:给给定的时间增加价值

@mohitveer_sandhu

所以要求与原来的帖子相比发生了变化?最好的方法是修复源数据,这样您就只加载所需的正确值。

话虽如此,我相信这将会奏效:

在第一个模块中,创建这些新的行项。

起始月:期间(起始日期)

新的起始月份:IF PERIOD(起始日期)<> PERIOD(结束日期)THEN实际起始月份+ 1 ELSE实际起始月份

Days: IF结束日期<= 'SYS Time Filter - Month'。End[LOOKUP:实际开始月份]THEN结束日期-开始日期ELSE '系统时间过滤器-月份'。结束[LOOKUP: New Starting Month]—开始日期

使用月份:暂时留空

创建一个以Time为维度的新模块:

Max:编号列表数据。[MAX:编号列表数据。新开始月)

2020 - 10 - 27 - _10 48 - 28. png2020 - 10 - 27 - _10 48 - 38. png

返回“data”模块,填写“Month to Use”公式:

IF Days =最大天数Nbr。Max[查找:新的开始月]然后新的开始月其他空白

2020 - 10 - 27 - _10 50 - 54. png

2020 - 10 - 27 - _10 51 - 15. png

在目标模块中,将原来的总和改为现在使用Month to use:

2020 - 10 - 27 - _10 53 - 34. png

希望这对你有用,

抢劫

在原始帖子中查看解决方案

7回复7
嗯
认证主Anaplanner
认证主Anaplanner

Re:给给定的时间增加价值

@mohitveer_sandhu

您可以在模块a的同一维度中添加时间(月)。在公式中,您可以尝试这样的操作,如果月(时间)在开始和结束之间,则获取项目(值)否则为空。处理摘要时,可以使用max。然后在模块B中引用它。

我希望这能帮到你。

Jud

mohitveer_sandhu
偶然的因素

Re:给给定的时间增加价值

你能详细说明一下如何在模块A中添加时间(月)吗?

我还有一个限制,模块a只能有这个模式。

rob_marshall
主持人

Re:给给定的时间增加价值

@mohitveer_sandhu

看看这是否有帮助。

我复制了你的数据,但根据我的模型更改了年份:

2020 - 10 - 27 - _08 - 04 - 27. - png

在目标模块中,我有这两行项目:

取值范围:“编号列表数据”。取值[SUM:已编号列表的数据。Start Date],其中“Data Of Numbered List”为源模块名称(上面那个)

Value Over Months:IF Value = 0 THEN PREVIOUS(Value Over Months) ELSE Value

2020 - 10 - 27 - _08 - 06 - 35. - png

2020 - 10 - 27 - _08 - 06 - 49. - png

2020 - 10 - 27 - _08 - 07 - 03. - png

希望这对你有用,

抢劫

mohitveer_sandhu
偶然的因素

Re:给给定的时间增加价值

@rob_marshall谢谢,尝尝这个。

mohitveer_sandhu
偶然的因素

Re:给给定的时间增加价值

这是可行的,但如果我们想把它扩展到这样的数据,其中一个月可以有多个值,我们想要只取这个值这个月的大部分时间都是这样。

例如:

价值 开始日期 结束日期
101 1/1/2019 1/4/2019
102 1/5/2019 1/20/2019
103 1/21/2019 2/28/2019

模块B应该有

1月20日 Feb-20 ----
价值 102 103 ----
rob_marshall
主持人

Re:给给定的时间增加价值

@mohitveer_sandhu

所以要求与原来的帖子相比发生了变化?最好的方法是修复源数据,这样您就只加载所需的正确值。

话虽如此,我相信这将会奏效:

在第一个模块中,创建这些新的行项。

起始月:期间(起始日期)

新的起始月份:IF PERIOD(起始日期)<> PERIOD(结束日期)THEN实际起始月份+ 1 ELSE实际起始月份

Days: IF结束日期<= 'SYS Time Filter - Month'。End[LOOKUP:实际开始月份]THEN结束日期-开始日期ELSE '系统时间过滤器-月份'。结束[LOOKUP: New Starting Month]—开始日期

使用月份:暂时留空

创建一个以Time为维度的新模块:

Max:编号列表数据。[MAX:编号列表数据。新开始月)

2020 - 10 - 27 - _10 48 - 28. png2020 - 10 - 27 - _10 48 - 38. png

返回“data”模块,填写“Month to Use”公式:

IF Days =最大天数Nbr。Max[查找:新的开始月]然后新的开始月其他空白

2020 - 10 - 27 - _10 50 - 54. png

2020 - 10 - 27 - _10 51 - 15. png

在目标模块中,将原来的总和改为现在使用Month to use:

2020 - 10 - 27 - _10 53 - 34. png

希望这对你有用,

抢劫

在原始帖子中查看解决方案

mohitveer_sandhu
偶然的因素

Re:给给定的时间增加价值

@rob_marshall谢谢你! !