进一步划分已经很复杂的计算

编程入门 行业动态 更新时间:2024-10-11 17:28:15
本文介绍了进一步划分已经很复杂的计算的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

小猪-支持我之前的问题:SUMX, SUMMARIZE, and missing values

我有一条新的皱纹,我不太清楚。我本以为这很简单,甚至不会有问题,但我来了。

Alexis为我计算了这个解决方案,该解决方案计算每个管道事件的最终金额,并将其相加,得出准确的总计。我现在需要做的是显示所有按给定时间段的最终概率值划分的聚合数据。问题是,相同的数据在更细粒度的水平上出现在多个地方,即使总计仍然是正确的。让我倒回去一点.

我们有管道历史记录和管道事件历史记录。我已经编写了一个SQL查询,将它们拉到每个匹配对的一行中。每行包含一个"Amount"和一个"eveProb"。后者是集合{0,10,30,50,70,90,100}中的一个数字,它反映了特定事件成功关闭的概率。这些值位于名为tblProb[prob]的链接表中。随着时间的推移,这两个值都可能会更改,因此我可能会得到一个特定事件的结果集,如下所示:

Pipeline_id date_last_mod 管道事件id 金额 eveprob
P-03 2020年1月1日 PE-04 200 10
P-03 2020年3月1日 PE-04 200 30
P-03 2020年5月1日 PE-04 200 30
P-03 2020年5月15日 PE-04 400 50

我的数据透视表为我提供的是:

年/月 0 10 30 50 70 90 100 合计
2020年1月 200 200
2020年2月 200 200
2020年3月 200 200 200
2020年4月 200 200 200
2020年5月 200 400 400 400

我想要的是:

年/月 0 10 30 50 70 90 100 合计
2020年1月 200 200
2020年2月 200 200
2020年3月 200 200
2020年4月 200 200
2020年5月 400 400

这是我现在的衡量标准:

Revenue:= VAR MaxDate = MAX ( qryDateTable[Date] ) RETURN SUMX ( ADDCOLUMNS ( CALCULATETABLE ( SUMMARIZE ( qryPipelineUS, qryPipelineUS[pipeline_id], qryPipelineUS[pipeline_event_id] ), ALL ( qryDateTable ) ), "temp", CALCULATE ( CALCULATE ( SUM ( qryPipelineUS[amount] ), LASTNONBLANK ( qryPipelineUS[date_last_mod], CALCULATE ( SUM ( qryPipelineUS[amount] ) ) ) ), qryDateTable[Date] <= MaxDate ) ), [temp] )

我曾尝试将tblProb[prob]添加到汇总和/或调整计算以匹配过滤上下文中的prob值,但是我要么做错了,要么是采用了错误的方法。如果你能帮我,我会欠你一个大人情。谢谢您。

推荐答案

您的解决方案去掉了一些冗余:

Revenue := VAR MaxDate = MAX ( tblDates[Date] ) RETURN SUMX ( ADDCOLUMNS ( CALCULATETABLE ( SUMMARIZE ( qryPipelineUS, qryPipelineUS[pipeline_id], qryPipelineUS[pipeline_event_id] ), ALL ( tblDates ) ), "temp", CALCULATE ( VAR LastProb = CALCULATE ( CALCULATE ( MAX ( qryPipelineUS[eveProb] ), LASTNONBLANK ( qryPipelineUS[date_last_mod], CALCULATE ( SUM ( qryPipelineUS[amount] ) ) ), ALL ( tblDates ) ), ALL ( tblProb ) ) RETURN CALCULATE ( SUM ( qryPipelineUS[amount] ), LASTNONBLANK ( qryPipelineUS[date_last_mod], CALCULATE ( SUM ( qryPipelineUS[amount] ) ) ), tblProb[Prob] = LastProb ), tblDates[Date] <= MaxDate ) ), [temp] )

(作为解决方案发布,因为它不能作为注释使用。)

更多推荐

进一步划分已经很复杂的计算

本文发布于:2023-10-24 20:46:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1524957.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:很复杂

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!