【问题标题】:First day of every week in every month in PowerAppsPowerApps 中每个月每周的第一天
【发布时间】:2019-10-02 01:57:43
【问题描述】:

我有一个包含两列的表格: 1个月 2.周

表中数据如下:

月 |周

1 | 4

2 | 3

3 | 2

4 | 1

5 | 4

6 | 3

7 | 2

8 | 1

9 | 4

10 | 3

11 | 2

12 | 1

现在,根据用户提供的日期,我需要根据上表中的映射找到对应的一周的第一天。

示例 1

来自用户的日期:2019 年 9 月 29 日

现在,我将在用户提供的日期中查看月份,然后基于该月份;我将查看表格并查看该月的相应周。 在这里,对于第 9 个月(9 月),相应的一周将是第 4 周。 现在,因为我有那个月的一周;我需要在一年中的那个月份找到那一周的第一个日期。在这种情况下,它将是 2019 年 9 月 23 日。

我的解决方案应该是 2019 年 9 月 23 日。

示例 2

来自用户的日期:2019 年 10 月 10 日

现在,我将在用户提供的日期中查看月份,然后基于该月份;我将查看表格并查看该月的相应周。 在这里,对于第 10 个月(10 月),相应的一周将是第 3 周。 现在,因为我有那个月的一周;我需要在一年中的那个月份找到那一周的第一个日期。在这种情况下,它将是 2019 年 10 月 21 日。

我的解决方案应该是 2019 年 10 月 21 日。

我正在尝试为这种情况提出 PowerApps 公式。 任何帮助将不胜感激。

【问题讨论】:

  • 周数是如何确定的?在您的示例中,您认为一周的开始时间是 9/23(星期一)。但如果是这样的话,第 4 周不是从 9/16 到 9/22 吗?详情请参阅imgur.com/a/Rfxt1YZ 的图片。
  • @carlosfigueira 在这种情况下,第一个星期一被视为第一周的第一天。
  • 如果星期一是一周的第一天,那么为什么不是从 9 月 16 日到 9 月 22 日这一周的第 4 周?如果是这种情况,那么您的解决方案应该是 2019 年 9 月 16 日,而不是 2019 年 9 月 23 日,对吧?或者换句话说,您如何确定从 9/23 到 9/29 的那一周是该月的第 4 周?
  • 第一周是 9/2 - 9/8,第二周是 9/9 - 9/15,第三周是 9/16 - 9/22,第四周是 9/23 - 9/29 .
  • 我的问题是你用什么来确定一周是第一周?为什么 9/1 的那一周不是第一周?您是否只考虑一个月内所有 7 天都在的一周?其他一些逻辑?

标签: powerapps powerapps-formula powerapps-canvas


【解决方案1】:

根据您的要求,您应该能够使用此表达式(假设来自用户的日期来自日期选择器;如果日期来自其他来源,您需要调整表达式):

With(
    { firstDay: Date(Year(DatePicker1.SelectedDate), Month(DatePicker1.SelectedDate), 1) },
    With(
        {
            firstMonday: DateAdd(firstDay, 7 - Weekday(firstDay, StartOfWeek.Tuesday), Days),
            weekNumber: LookUp(MyTable, Month = Month(DatePicker1.SelectedDate), Week)
        },
        DateAdd(firstMonday, 7 * (weekNumber - 1), Days)))

让我们分解一下:

  • 第一个With 创建一个名为firstDay 的范围变量,它保存用户选择的月份的第一天;
  • 第二个With 计算该月的第一个星期一,因为这是在您的方案中确定周数的因素。它通过将距下周一的天数添加到该月的第一天来实现这一点,这是在上述步骤中计算的。它还会从您的表中检索周数(在我的示例中,我将其称为“MyTable”,您可以在场景中将其替换为适当的名称)
  • 最后,给定周数和每月的第一个星期一,我们可以添加适当的天数以获得所需的结果。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2020-03-30
    • 1970-01-01
    • 2017-09-26
    • 2020-10-02
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多