首页 文章

什么是DAX百分比之和

提问于
浏览
2

我有一个表,我必须通过循环在同一个表上创建百分比 . 这是示例表

enter image description here

我的第一个障碍是创建%权重,在给定的一天,它是收入的百分比除以当天“该”特许经营的所有收入 . 所以在上面的例子中,它是150 /(150 200 300)= 23.07%,那么它是200/650 = 30.7%和300/650 = 46.15(注意:我没有采取报告期间2015年1月1日,因为到循环,我们将“那个”特许经营记录的表格循环到“那一天” . )

然后我需要当天的特许经营措施,这将是(%预测*%重量)的总和 . 在这里的例子中,它将是Sum(91 * 23.07 97 * 30.7 92 * 46.15)/ 100 = 93.21% .

当我使用切片器进行北方时,有人可以帮助使用可以产生93.21特许经营权的DAX吗?谢谢

--------------- 2015年2月26日的问题更新------------------------

谢谢你Abhijeet .

如果“收入”列是一个单独的表并且仅与“主要”表中的“帐户和日期”(月份的第1个)一起加入,那么我将无法使用这些公式 . 收入表必须是单独的表,因为它们是一个月粮食,而特许经营权表是一天粮食 . 特许经营表到收入表是多对一的 . 我加入了Period和Account来创建一个键,所以我加入了两个表 . 在收入表中,“帐户”和“月份期间”是唯一的行 . 这是分析表,http://oi62.tinypic.com/9fsg8p.jpg

现在,Revenue表上的Orange行是有效行,它位于Revenue表中,但未在Franchise表中报告 . 因此,当计算权重时,此行也需要包括在特许经营南方总计中 . 有人可以指导如何重写DAX以适应这一点 . 谢谢我是一个初学者,虽然这很有趣,但我觉得很难 .

所以我仍然需要计算%Weightage,然后计算特许经营权%指数 . 谢谢

1 回答

  • 1

    根据你的形象,你有一张 table (让我们把它命名为'Franchise') . 您需要采取以下措施 . 配方被提及为

    =

    1. Total Reported Revenue = Sum([Revenue])
    2. Franchise Reported Revenue = CALCULATE(Sum([Revenue]),All(Franchise[Account]))
    3. % Weightage = 100 * [Total Reported Revenue] / [Franchise Reported Revenue]
    4. Total Forecast = Sum([% Forecast])
    5. Account Weighted Forecast = [Total Forecast] * [% Weightage] / 100
    6. Weighted Forecast =  If(HASONEVALUE(Franchise[Account]),  
                                   [Account Weighted Forecast], 
                                   Sumx(DISTINCT(Franchise[Account]),[Account Weighted Forecast]))
    

    Explanation

    • Measure与PowerPivot中的"Calculated Field"相同 . 以下是描述如何创建它们的链接 . Link-1 Link-2

    • 在度量[帐户加权预测]的公式中,我可以使用Sum([%Forecast])而不是度量[Total Forecast],从而节省了创建新度量的工作量 . 这种参考被称为"naked column" . 这不是一个好习惯 . 最好创建一个新的度量,它封装裸列引用 . Link

    • 测量[加权预测]需要解释 .

    HASONEVALUE(Franchise[Account]) : Determines if current calculation is 
         for normal cell or total\subtotal cell. This will return true for 
         normal cell and false otherwise.
    
    Sumx(DISTINCT(Franchise[Account]),[Account Weighted Forecast]) : This is        
         evaluated for totals\subtotals cell. Function Sumx iterates through        
         each account and find out [Account Weighted Forecast] and them sum it.
    

相关问题