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

  • 相关阅读:
    作业七—“南通大学教务管理系统微信公众号”用户体验分析
    作业6—成绩录入系统设计(第一阶段)
    作业5-需求分析(EX:南通大学成绩录入系统)
    几次接触Collection排序使用总结
    作业4-两人编程<词频统计>
    ACE智能指针
    Buddy Memorry
    子数组和与积
    数字转化为大写(16位以下)
    【阿里巴巴-飞猪旅行-内推】2020年应届实习生招聘
  • 原文地址:https://www.cnblogs.com/TheMiao/p/13282064.html
Copyright © 2011-2022 走看看