尝试在 PowerBI 中实现三角形净损失矩阵

Trying to achieve triangular net loss matrix in PowerBI

提问人:Mark 提问时间:11/14/2023 更新时间:11/16/2023 访问量:60

问:

我一直在努力寻找以下问题的答案。但是,我正在尝试实现月年细分的逻辑。我的透视列是一个名为 con_seasoning 的列,它计算从合同开始日期到最新快照日期的月数。我一直在尝试复制下面答案中的逻辑,特别是 IF 语句的第一部分,但我的数据一直显示为空白。con_seasoning列位于其自己的表中,并且 我的主表称为净损失,其中行(月、年、开始日期)位于其中。

如何在运行总矩阵 Power BI 中填写空白

PowerBI DAX 可视化 数据建模

评论

0赞 Sam Nseir 11/14/2023
最好为此共享一个示例 .pbix。或者您将需要分享有关您的模型、表达式等的详细信息......
0赞 Mark 11/15/2023
好的,我稍后会上传一个示例 .pbix。
0赞 Mark 11/16/2023
这是指向示例 .pbix 的链接。drive.google.com/file/d/1X8hpiT8WulOm5PX15X72FQEkuZq4je1N/......我一直将 mmmm yyyy 放在矩阵的行中,con_seasoning放在列中,并在值中有一个度量值。该措施在下一条评论中。我遇到的问题是值显示为累积值。如果调味料没有MMMM YYYY的数据,它将显示空白,而我希望它显示行中的前一个值。
0赞 Mark 11/16/2023
衡量标准:合约计数 默认值 = VAR MaxSeasoning = MAX('Atoka Net Loss'[con_seasoning]) //调味栏 VAR CumulativeCount = CALCULATE( count('Atoka Net Loss'[contract_id]), FILTER( ALLSELECTED('Atoka Net Loss'[con_seasoning]), 'Atoka Net Loss'[con_seasoning] <= MaxSeasoning ), OR('Atoka Net Loss'[con_termination_reason_snapshot] = “收回”, 'Atoka 净损失'[con_termination_reason_snapshot] = “注销” ) ) 返回 COALESCE(累计计数,0)

答:

0赞 Sam Nseir 11/16/2023 #1

您将需要一个单独的断开连接的表来用于矩阵列。seasoning

使用以下命令创建新的计算表:

Dim Seasoning = SELECTCOLUMNS(
  GENERATESERIES(0, MAX('Atoka Net Loss'[con_seasoning]), 1),
  "Seasoning", [Value]
)

将此新表中的列用于 Matrix 列。Seasoning

然后将度量值更新为:

Contract Count Default = 
  var terminationReason = {"Repossession", "Write Off" }
  var columnSeasoning = MAX('Dim Seasoning'[Seasoning])
  var maxSeasoning = CALCULATE(MAX('Atoka Net Loss'[con_seasoning]), 'Atoka Net Loss'[con_termination_reason_snapshot] IN terminationReason )

  var cumulativeCount = CALCULATE( 
    COUNT('Atoka Net Loss'[contract_id]), 
    FILTER(
      ALLSELECTED('Atoka Net Loss'[con_seasoning]), 
      'Atoka Net Loss'[con_seasoning] <= columnSeasoning && columnSeasoning <= maxSeasoning
    ), 
    'Atoka Net Loss'[con_termination_reason_snapshot] IN terminationReason
  )
  
  return IF(maxSeasoning > 0 && maxSeasoning > columnSeasoning, COALESCE(cumulativeCount, 0), cumulativeCount)

这将为您提供如下所示的矩阵:
enter image description here

评论

0赞 Mark 11/16/2023
所以,我想显示 0 的行。它必须具有三角形。2023 年 5 月与调味料 17 没有任何合同,因此该单元格中不应有数据。这是我遇到的主要问题。你上面显示的第一个矩阵也是我得到的,但我需要某种类型的 IF 函数来只显示有数据基础的值
0赞 Sam Nseir 11/16/2023
我想我误会了,我以为你想要一个跑步计数。您只需要从第一次出现到最后一次出现的运行计数,对吗?
0赞 Sam Nseir 11/16/2023
这更像是吗?i.stack.imgur.com/L2z5h.png - 如果是这样,我将更新上面的答案:
0赞 Mark 11/16/2023
附件是我寻找的;drive.google.com/file/d/15FviDnSEgCCjfBn-vfO594PqFk3qmnf9/......
0赞 Sam Nseir 11/16/2023
更新了上面的答案(更新了措施)