我想在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示例:
我找不到在DAX公式中定位特定行的方法。看来Power BI只想包含汇总值,例如sum,max等。
最后一点,我知道PowerBI包含百分比变化“快速度量”。但是,“基本值”始终要求您选择汇总度量值而不是单个行值。
答案 0 :(得分:4)
正如Alexis所提到的,在DAX中没有引用特定行的概念。对于习惯使用Excel的人来说,这可能是一个很难的概念,但是如果您想利用PowerBi,则必须“取消学习” Excel的思维方式。
要实现您的目标,您需要首先进行一些数据建模。通常,将“日期”列替换为适当的日历表:
因此,您将在PowerBi中拥有一个数据模型,看起来像这样:
一旦有了适当的结构,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])