zoukankan      html  css  js  c++  java
  • Power Apps Componet Holiday Calculation 使用文档

    关于input 和 output, 请查看 https://github.com/TheMiao/PowerApps-Component/tree/master/Holiday%20Calculation

    所有功能在OnReset中

    DateDiff

    varDateDiff,这是使用了DateDiff 来计算两个date之间有多少天. 

    Set(
        varDateDiff,
        DateDiff(
            HolidayCalculation.StartDate,
            HolidayCalculation.EndDate,
            Days
        )
    );

    Date Diff Except Holiday

    varDateDiffExceptHoliday计算出同时除去周末以及假期

    Set(
        varDateDiffExceptHoliday,
        RoundDown(
            DateDiff(
                HolidayCalculation.StartDate,
                HolidayCalculation.EndDate,
                Days
            ) / 7,
            0
        ) * 5 + Mod(
            5 + Weekday(HolidayCalculation.EndDate) - Weekday(HolidayCalculation.StartDate),
            5
        ) - CountRows(
            Filter(
                HolidayCalculation.HolidayRecord,
                HolidayDate >= HolidayCalculation.StartDate,
                HolidayDate <= HolidayCalculation.EndDate
            )
        )
    );

    Date Diff Except Weekend

    计算出除去周末以外的天数

    Set(
        varDateDiffExceptWeekend,
        RoundDown(
            DateDiff(
                HolidayCalculation.StartDate,
                HolidayCalculation.EndDate,
                Days
            ) / 7,
            0
        ) * 5 + Mod(
            5 + Weekday(HolidayCalculation.EndDate) - Weekday(HolidayCalculation.StartDate),
            5
        ));

    TargetDateExceptHoliday

    计算出除去周末以及holiday以外的最终目标天数

    Clear(varDateRange);
    ForAll(
        HolidayCalculation.DatePeriod,
        Collect(
            varDateRange,
            {
                RowIndex: CountRows(varDateRange) + 1,
                Date: DateAdd(
                    HolidayCalculation.StartDate,
                    Value
                )
            }
        )
    );
    
    RemoveIf(
        varDateRange,
        Weekday(Date) = 1 || Weekday(Date) = 7 || CountRows(
            Filter(
                HolidayCalculation.HolidayRecord,
                HolidayDate >= Date, 
                HolidayDate <= Date
            )
        ) > 0
    );
    
    Set(varTargetDateExceptHoliday, Last(FirstN(varDateRange, HolidayCalculation.NumberOfDays)).Date);

    DatePeriod

    Table类型, 需要输入一组数据来计算数据最大数以内的这些天数holiday以及weekend.

    e.g.  这里只有20天, 所以只能计算出20天的holiday以及weekend.

    [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            20,
        ]

    Holiday Record

    Table类型, 输入假日时间

    Table(
        {
            Title: "National Day",
            HolidayDate: Date(
                2020,
                10,
                01
            )
        },
        {
            Title: "Labour Day",
            HolidayDate: Date(
                2020,
                05,
                01
            )
        }
    )

    StartDate

    输入开始时期

    EndDate

    输入结束日期

    Number Of Days

    number类型, 输入需要计算的天数. 用于计算 Target Date

  • 相关阅读:
    磁盘及分区管理
    用户和文件权限管理
    分割文件命令split
    去除重复命令uniq
    数据连接命令join
    数据剪切命令cut和数据粘贴命令pastte
    排序命令sort
    koa-router
    koa入门
    require.ensure的用法;异步加载-代码分割;
  • 原文地址:https://www.cnblogs.com/TheMiao/p/13282064.html
Copyright © 2011-2022 走看看