Power BI:百分比变化公式

时间:2018-08-10 18:03:59

标签: powerbi dax

我想在Power BI中创建一个简单的百分比变化公式。具体来说,我想评估费用的逐月变化。我知道可以用不同的方式来定义百分比变化,因此要清楚地知道这是我所指的公式:

protected void okButton_Click(object sender, EventArgs e)
{   
    Button button = (Button)sender;

    // button info <asp:Button ID="triangleAreaButton" runat="server" Text="Calculate"
    // OnClick="okButton_Click" CssClass="btn btn-success" />
    triangleAreaResultLabel.Text = button.ID;
    TriangleProperties triangle =
        new TriangleProperties(int.Parse(baseTextBox.Text), int.Parse(heightTextBox.Text));
    triangleAreaResultLabel.Text = String.Format("({0} x {1}) / 2  = {2}", baseTextBox.Text,
        heightTextBox.Text, triangle.AreaOfTriangle().ToString());

    // button info <asp:Button ID="pythagorasTheoremButton" runat="server" Text="Calculate"
    // OnClick="okButton_Click" CssClass="btn btn-success" />
    hypotenuseLabelforPyT.Text = button.ID;
    TriangleProperties pythagorasTheorem =
        new TriangleProperties(int.Parse(heightTextBoxforPyT.Text),
            int.Parse(baseTextBoxforPyT.Text), 0);
    hypotenuseLabelforPyT.Text =
        String.Format("{0} ", pythagorasTheorem.PythagorasTheoremFindHypotenuse().ToString());
}

这是我要实现的Excel示例:

Percent Change in Excel

我找不到在DAX公式中定位特定行的方法。看来Power BI只想包含汇总值,例如sum,max等。

最后一点,我知道PowerBI包含百分比变化“快速度量”。但是,“基本值”始终要求您选择汇总度量值而不是单个行值。

1 个答案:

答案 0 :(得分:4)

正如Alexis所提到的,在DAX中没有引用特定行的概念。对于习惯使用Excel的人来说,这可能是一个很难的概念,但是如果您想利用PowerBi,则必须“取消学习” Excel的思维方式。

要实现您的目标,您需要首先进行一些数据建模。通常,将“日期”列替换为适当的日历表:

Calendar table explained

因此,您将在PowerBi中拥有一个数据模型,看起来像这样: enter image description here

一旦有了适当的结构,DAX就很简单:

Current Month Cost = SUM(Expenses[Cost])

Previous Month Cost = CALCULATE( [Current Month Cost], PREVIOUSMONTH(Calendar[Date]))

% Change = DIVIDE( [Current Month Cost] - [Previous Month Cost], [Previous Month Cost])