DAX 中的项目收入计算

米哈伊·加拉姆沃尔吉

我需要计算项目安装+维护的持续收入,并计算 Power BI 中 DAX 中用于控制目的的月收入。

问题如下。

这些项目存储在一个表 CONTRACTS 中,如下所示:

在此处输入图片说明

我有一个单独的日期表 INST_DATE_TABLE:

在此处输入图片说明

这些表通过 [INSTALLATION_DATE] 字段连接。

在此处输入图片说明

每个月的收入是 [INSTALLATION_REVENUE] 的总和(如果安装是在该月进行的)加上从第一个月开始的每月维护收入,即 [MAINTENANCE_COST_PER_UNIT] * [MAINTENANCE_UNIT] / 12。

And the maintenance revenue should be only calculated if the current date is beyond the installation date!

Some contracts are not yet signed, so they dont't have an installation date set (NULL)

So the INSTALLATION REVENUE DAX is like this:

    .INSTALLATION_REVENUE = 
     CALCULATE (
        SUMX(CONTRACTS; 
        CONTRACTS[INSTALLATION_REVENUE] 
            );
        CONTRACTS[INSTALLATION_DATE] > 0
     )

And the MONTHLY REGULAR REVENUE is like this:

    .REGULAR_REVENUE = 
    CALCULATE ( 
       SUMX(CONTRACTS; 
       CONTRACTS[MAINTENANCE_COST_PER_UNIT]*CONTRACTS[MAINTENANCE_UNIT]
        ) / 12;
        CONTRACTS[INSTALLATION_DATE] > 0
     )

For all dates I can calculate the cash flow of the latter like this:

     .REGULAR_REVENUE_ONGOING = 
      CALCULATE ( 
          [.REGULAR_REVENUE];
          ALL(INST_DATE_TABLE[INSTALLATION_DATE])
      )

which gives me a nice series of monthly revenues for all periods. But I only would like to see this for the periods that are beyond the installation date!

So lets say filtered on contract 1 I have now the following cash flow:

在此处输入图片说明

But for periods before 2019.04.01 I would like to see zeros!

How can I do that?

I just can't filter on dates referring to the installation date of the project!

在我获得一份合同的预期结果后,很容易对所有这样的合同进行总结

      .TOTAL_REVENUE = 
      [.INSTALLATION_REVENUE] + [.REGULAR_REVENUE_EXPECTED]

更新:

我创建了一个累计总数来显示持续收入,如下所示:

   .REGULAR_REVENUE_ONGOING = 
   CALCULATE ( 
       [.REGULAR_REVENUE];
       FILTER(
           ALL(INST_DATE_TABLE[INSTALLATION_DATE]);
           INST_DATE_TABLE[INSTALLATION_DATE
             <=MAX(INST_DATE_TABLE[INSTALLATION_DATE])
           )
     )

这显示了正确的系列,但现在我有另一个问题。当我尝试累积这个已经累积的数据系列时,它不会累积为累积数据系列

任何帮助,将不胜感激

   .REVENUE_TOTAL_CUMULATIVE = 
    CALCULATE(
       [.REVENUE_TOTAL];
       FILTER(
           INST_DATE_TABLE;
           INST_DATE_TABLE[INSTALLATION_DATE] <= MAX(INST_DATE_TABLE[INSTALLATION_DATE])
           )
    )

在此处输入图片说明

奥利

假设您的持续收入没有结束日期,请尝试:

.REGULAR_REVENUE_ONGOING = 
VAR DateMin = 
    CALCULATE(
        MIN ( CONTRACTS[INSTALLATION_DATE] ),
        ALL ( INST_DATE_TABLE )
    )
VAR DateMax = 
    MAX ( INST_DATE_TABLE[INSTALLATION_DATE] )
RETURN
    SUMX ( 
        FILTER ( 
            ALL ( INST_DATE_TABLE ),
            INST_DATE_TABLE[INSTALLATION_DATE] >= DateMin && INST_DATE_TABLE[INSTALLATION_DATE] <= DateMax
        ),
        [.REGULAR_REVENUE]
    )

对于累计总收入:

.REVENUE_TOTAL_CUMULATIVE = 
VAR DateCurrent = MAX ( INST_DATE_TABLE[INSTALLATION_DATE] )
VAR CumulativeInstallationRevenue = 
    CALCULATE ( 
        [.INSTALLATION_REVENUE],
        FILTER ( 
            ALL ( INST_DATE_TABLE ),
            INST_DATE_TABLE[INSTALLATION_DATE] <= DateCurrent
        )
    )
VAR CumulativeOngoingRevenue = 
    SUMX ( 
        FILTER ( 
            ALL ( INST_DATE_TABLE ),
            INST_DATE_TABLE[INSTALLATION_DATE] <= DateCurrent
        ),
        [.REGULAR_REVENUE_ONGOING]
    )
RETURN
    CumulativeInstallationRevenue + CumulativeOngoingRevenue

在此处输入图片说明

有关工作示例 PBIX 文件,请参阅https://pwrbi.com/so_55808659/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL中项目收入的日期范围计算?

来自分类Dev

在DAX中测量总计

来自分类Dev

在DAX中过滤DISTINCTCOUNT

来自分类Dev

在 DAX 中投影

来自分类Dev

使用 dax 查询计算 PowerBI 中的方差

来自分类Dev

Excel PowerPivot DAX计算字段

来自分类Dev

使用NBi测试DAX计算

来自分类Dev

DAX,PowerBI中的动态GROUPBY

来自分类Dev

在 Dax 中添加静态表

来自分类Dev

在DAX中,如何从DAX表变量(通过ADDCOLUMN创建)中返回计算列的总和?

来自分类Dev

DAX在Power Pivot 2016中计算的度量

来自分类Dev

DAX - 计算列中每天的最大值

来自分类Dev

使用DAX实现Power BI中的动态字段计算

来自分类Dev

如何计算DAX中每年的新客户数量

来自分类Dev

如何使用DAX计算Power BI中每个类别和仅选定项目的百分比

来自分类Dev

DAX:计算“没有”当前行的度量

来自分类Dev

Power BI - DAX - YTD 计算的异常行为

来自分类Dev

Dax 查找日期基于 Criteria 计算列

来自分类Dev

DAX 计算列考虑多行生成结果

来自分类Dev

为计算列循环工作 DAX 函数

来自分类Dev

dax中的动态总和选择不同的值

来自分类Dev

DAX函数RANKX中的value参数

来自分类Dev

DAX中的MDX链接成员等效

来自分类Dev

在DAX中组合SELECTCOLUMNS和ORDER BY

来自分类Dev

DAX-虚拟表中的参考列

来自分类Dev

试图了解DAX中的CALCULATE和FILTER

来自分类Dev

减去 DAX 中的行值;商业智能

来自分类Dev

Power BI DAX 中的条件除法

来自分类Dev

根据月份和年份列计算工作日数-DAX