首页 文章

显示前几年的年度销售额

提问于
浏览
2

我正在制作一份报告,其中包含使用SALE_ID唯一标识的优惠数量,其中包含从2015年1月1日开始到今天(2017年12月18日,询问时)的不同产品的数据 . 我用一种叫做“Distinct”的简单措施来计算报价金额:

Distinct := DISTINCTCOUNT(dOffers[Sale_ID])

这给了我满意的结果,因为我收到了考虑期间的正确数量 . 我也在计算年度变化,用以下方法定义前一年的报价:(dCalendar包含datekey表) .

PY Offers :=
SUMX (
    VALUES ( dCalender[YearMonthNumber] );
    IF (
        CALCULATE ( COUNTROWS ( VALUES ( dCalender[FullDates] ) ) )
            = CALCULATE ( VALUES ( dCalender[MonthDays] ) );
        CALCULATE (
            [Distinct];
            ALL ( dCalender );
            FILTER (
                ALL ( dCalender[YearMonthNumber] );
                dCalender[YearMonthNumber]
                    = EARLIER ( dCalender[YearMonthNumber] ) - 12
            )
        );
        CALCULATE (
            [Distinct];
            ALL ( dCalender );
            CALCULATETABLE ( VALUES ( dCalender[MonthDayNumber] ) );
            FILTER (
                ALL ( dCalender[YearMonthNumber] );
                dCalender[YearMonthNumber]
                    = EARLIER ( dCalender[YearMonthNumber] ) - 12
            )
        )
    )
)

我遇到的问题是,12月份(运行月份)的年度变化,考虑了今年(2017年)的年初至今销售额,并将其与之前的全月销售额进行比较年(2016年和2015年);这使得上个月的比较无法解释,因为我们将半个月的报价与整月的报价进行比较 .

我想知道如何解决这个问题:即考虑截至今天的全年销售情况,并将其与去年和两年前的相同时期进行比较(2015年:从1月1日开始到12月18日) ; 2016年和2017年的idem dito) . 对于这个问题,SAMEPERIODLASTYEAR调用可能看起来很简单,但是我收到了连续的日期错误...

提前致谢!

1 回答

  • 0

    根据您的描述,我了解到您正在尝试逐年进行比较 .

    如果不依赖SAMEPERIODLASTYEAR等任何时间智能功能,您可能需要尝试此版本的度量:

    PY Offers :=
    SUMX(
        VALUES( dCalendar[YearMonthNumber] );
    
        CALCULATE(
        VAR currDate = MAX( dCalendar[FullDates] )
        VAR currYear = YEAR(currDate)
        VAR currMonth = MONTH(currDate)
        VAR currDay = DAY(currDate) 
        RETURN
            CALCULATE(
                [Distinct];
                ALL( dCalendar );
                YEAR(dCalendar[FullDates]) = currYear - 1;
                MONTH(dCalendar[FullDates]) = currMonth;
                DAY(dCalendar[FullDates]) <= currDay
            )
        )
    )
    

相关问题