2

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

在此处输入图像描述

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

然后我需要一个当天的特许经营措施,即 (%Forecast * %Weightage) 的总和。在此处的示例中,它将是 Sum (91*23.07 + 97*30.7 + 92*46.15)/100 = 93.21%。

当我将切片器用于 North 时,有人可以帮助 DAX 生成 93.21 的特许经营百分比吗?谢谢

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

谢谢阿比吉特。

如果收入列是一个单独的表,并且仅与帐户和日期期间(每月 1 日)连接到主表,那么我无法使用这些公式。收入表必须是单独的表,因为它们是按月计算的,而特许经营表是按天计算的。所以特许经营表到收入表是多对一的。我加入了 Period 和 Account 以创建一个密钥,因此我加入了这两个表。在收入表中,帐户和月份期间是唯一的行。这是分解表, http: //oi62.tinypic.com/9fsg8p.jpg

现在,Revenue 表上的 Orange 行是有效行,它位于 Revenue 表中,但未在 Franchise 表中报告。因此,当计算权重时,这一行也需要包含在 Franchise South Total 中。有人可以指导如何重写 DAX 以适应这一点。谢谢我是一个完全的初学者,尽管这很有趣,但我觉得很难。

所以我仍然需要计算 % Weightage 然后是 Franchise% Index。谢谢

4

1 回答 1

1

根据您的图片,您有一张桌子(让我们将其命名为“特许经营”)。您将需要采取以下措施。公式被提及为

{度量名称} = {度量公式}

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]))

解释

  • 度量与 PowerPivot 中的“计算字段”相同。以下是描述如何创建它们的链接。链路 1 链路 2
  • 在度量 [Account Weighted Forecast] 的公式中,我可以使用 Sum([% Forecast]) 而不是度量 [Total Forecast],从而节省了创建新度量的精力。这种引用被称为“裸柱”。这不是一个好习惯。最好创建一个新的度量,它封装了裸列引用。关联
  • 度量[加权预测]需要解释。

    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. 
    
于 2015-02-24T22:18:48.277 回答