我无法在PowerBI上计算列的累加和。
我有一个很大的报价表,我想在上面进行pareto分析。经过许多教程,我按要约及其销售额的总和创建了一个SUMMARIZED表。因此表定义为:
summary = SUMMARIZE(big_table; big_table[offer]; "offer sales"; sum(big_table[sales]))
我发现的许多论坛和stackoverflow答案都将我引向以下公式来计算列上的累加总和:
cum_sales =
CALCULATE(
sum([offer_sales]);
FILTER(
ALLSELECTED(summary);
summary[offer_sales] <= max( summary[offer_sales])
)
)
但是结果表不正确:
我需要的只是简单地按销售额降序排列报价,然后将当前行的销售额添加到上一行的销售额中,
所以我排除了更接近的数字:
但是(也许)由于我的数据结构以及(肯定)缺乏有关PowerBI工作原理的知识,我没有得到正确的结果...
答案 0 :(得分:1)
Total Amount = SUM ( 'Fact'[Amount] )
Offer Visual Cumulative =
VAR OfferSum =
ADDCOLUMNS (
ALLSELECTED ( 'Offer'[Offer] ),
"amt", [Total Amount]
)
VAR CurrentOfferAmount = [Total Amount]
VAR OffersLessThanCurrent =
FILTER (
OfferSum,
[amt] <= CurrentOfferAmount
)
RETURN
SUMX (
OffersLessThanCurrent,
[amt]
)
无需预先汇总到汇总表。我们可以按照上面的方法来处理。
这假设一个名为“事实”的事实表,以及一个包含“要约”的不同要约的表。
根据您对“要约”上其他过滤条件的要求,可能需要执行以下操作:
Offer Visual Cumulative =
VAR OfferSum =
ADDCOLUMNS (
ALLSELECTED ( 'Offer'[Offer] ),
"amt", CALCULATE ( [Total Amount], ALLEXCEPT ( 'Offer', 'Offer'[Offer] ) )
)
...
其余的度量将相同。
该措施在其VAR中相当自我记录。第一个VAR OfferSum
是带有列('Offer'[Offer],[amt])的表。这将包括当前视图中显示的所有报价。 CurrentOfferAmount
是视觉对象当前行/轴标签上的要约金额。 OffersLessThanCurrent
接受OfferSum
并对其进行过滤。最后,我们迭代OffersLessThanCurrent
并加总金额。