Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 计算每个会计月的剩余天数_Excel_Powerbi_Dax_Powerpivot - Fatal编程技术网

Excel 计算每个会计月的剩余天数

Excel 计算每个会计月的剩余天数,excel,powerbi,dax,powerpivot,Excel,Powerbi,Dax,Powerpivot,基于这篇文章,我正在构建一个财政日历: 以下Dax生成Dax日历: Calendar = VAR BaseCalendar = CALENDAR ( DATE ( 2016; 1; 1 ); DATE ( 2025; 12; 31 ) ) RETURN GENERATE ( BaseCalendar; VAR BaseDate = [Date] VAR Year = YEAR ( BaseDate )

基于这篇文章,我正在构建一个财政日历:

以下Dax生成Dax日历:

Calendar = 
VAR BaseCalendar =
    CALENDAR ( DATE ( 2016; 1; 1 ); DATE ( 2025; 12; 31 ) )
RETURN
    GENERATE (
        BaseCalendar;
        VAR BaseDate = [Date]
        VAR Year =
            YEAR ( BaseDate )
        VAR MonthNumber =
            MONTH ( BaseDate )
        VAR WeekNumber =
            WEEKNUM ( BaseDate )
        VAR FWeek =
            WEEKNUM ( BaseDate; 21 )
        RETURN
            ROW (
                "Day"; BaseDate;
                "Year"; Year;
                "Month Number"; MonthNumber;
                "Month"; FORMAT ( BaseDate; "mmmm" );
                "Year Month"; FORMAT ( BaseDate; "yyyy-mm" );
                "Day of Week"; FORMAT ( BaseDate; "dddd" );
                "Day of Week Short"; FORMAT ( BaseDate; "ddd" );
                "Week"; WeekNumber;
                "Year-Week"; Year & "-" & WeekNumber;
                "Fiscal Week"; FWeek;
                "Fiscal Month Short"; SWITCH (
                    TRUE ();
                    FWeek IN { 1; 2; 3; 4 }; "Jan";
                    FWeek IN { 5; 6; 7; 8 }; "Feb";
                    FWeek IN { 9; 10; 11; 12; 13 }; "Mar";
                    FWeek IN { 14; 15; 16; 17 }; "Apr";
                    FWeek IN { 18; 19; 20; 21 }; "May";
                    FWeek IN { 22; 23; 24; 25; 26 }; "Jun";
                    FWeek IN { 27; 28; 29; 30 }; "Jul";
                    FWeek IN { 31; 32; 33; 34 }; "Aug";
                    FWeek IN { 35; 36; 37; 38; 39 }; "Sep";
                    FWeek IN { 40; 41; 42; 43 }; "Oct";
                    FWeek IN { 44; 45; 46; 47 }; "Nov";
                    FWeek IN { 48; 49; 50; 51; 52; 53 }; "Dec"
            )
    )
现在我需要一个列,显示每个日期各自财政月的剩余天数。 我建议我需要一个第一列,它可以累加每个月的工作日。 然后我需要第二列,从相应月份的总和中减去这个值


您将如何以上述相同方法将其添加到日历中?

取决于您定义的工作日。我想是周一到周五吧 您需要在上述DAX中添加一个新列以返回1或0

IsWeekDay = SWITCH(TRUE(), WEEKDAY(Calendar[Date], 2) <= 5, 1, 0)
对于2020年4月4日的日期,它将返回2020年4月1日的日期

下一个新专栏应该总结使用EARILER的工作日

Working Days = 
CALCULATE ( SUM('Calendar'[IsWeekDay]),
    FILTER (
        ALL ( 'Calendar' ),
        'Calendar'[Date] >= EARLIER ( 'Calendar'[Date] )
            &&  EARLIER('Calendar'[MonthStart]) = STARTOFMONTH('Calendar'[Date])
    )
)
您必须根据您的会计月开始日期对其进行调整


嘿,乔尼!非常感谢你的方法!我对日历表的处理方法是基于GENERATE/RETURN/ROW。在这里,我无法添加您显示的列。由于我有一个财政日历,像“MonthStart=STARTOFMONTH(calendar[Date])”这样的函数将不起作用。我们的开始和结束日期与公历日期不同。
Working Days = 
CALCULATE ( SUM('Calendar'[IsWeekDay]),
    FILTER (
        ALL ( 'Calendar' ),
        'Calendar'[Date] >= EARLIER ( 'Calendar'[Date] )
            &&  EARLIER('Calendar'[MonthStart]) = STARTOFMONTH('Calendar'[Date])
    )
)