Coursera Power BI 项目问题及措施

问题描述 投票:0回答:1

我正在尝试在 Coursera 上完成 Power BI 课程,但我对他们使用的措施确实存在一些问题。

首先他们要求创建日历表并且它正在工作:

CalendarTable =  ADDCOLUMNS( CALENDAR(DATE(2020, 1, 1), DATE(2023, 12, 31)), "Year", YEAR([Date]), "Month Number", MONTH([Date]), "Month", FORMAT([Date], "MMMM"), "Quarter", QUARTER([Date]), "Weekday", WEEKDAY([Date]), "Day", DAY([Date]) )

然后他们要求使用此代码创建新列,它也可以工作:

Yearly Profit Margin = 'Sales in USD'[Gross Revenue USD] / 'Sales in USD'[Net Revenue USD]

接下来我应该创建如下新措施,但它们不起作用:

Quarterly Profit = CALCULATE([Yearly Profit Margin], DATESQTD('CalendarTable'[Date]))

YTD Profit = TOTALYTD([Yearly Profit Margin], 'CalendarTable'[Date])

在这两个中我都有相同的错误,“无法确定‘年利润率’的值。要么该列不存在,要么该列没有当前行。”

我不知道为什么它不起作用。如果您需要任何其他信息,我当然会提供。如果有任何帮助,我将不胜感激。

我试图在互联网上找到任何解决方案,但我找不到任何东西。

powerbi dax
1个回答
0
投票

我认为您在谈到度量与计算列时混淆了一些事情。列是在数据加载阶段逐行计算的,并存储在表中,而度量是对当前加载到模型中的数据执行的计算,并在查询时计算。

您需要创建一个度量而不是计算列:

Yearly Profit Margin Measure = SUM('Sales in USD'[Gross Revenue USD]) / SUM('Sales in USD'[Net Revenue USD])

或:

Yearly Profit Margin Measure = DIVIDE(
    SUM('Sales in USD'[Gross Revenue USD]), 
    SUM('Sales in USD'[Net Revenue USD]),
    BLANK()  //  in case of division by zero
)

然后:

Quarterly Profit = CALCULATE([Yearly Profit Margin Measure], DATESQTD('CalendarTable'[Date]))

YTD Profit = TOTALYTD([Yearly Profit Margin Measure], 'CalendarTable'[Date])
© www.soinside.com 2019 - 2024. All rights reserved.