我正在尝试在 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])
在这两个中我都有相同的错误,“无法确定‘年利润率’的值。要么该列不存在,要么该列没有当前行。”
我不知道为什么它不起作用。如果您需要任何其他信息,我当然会提供。如果有任何帮助,我将不胜感激。
我试图在互联网上找到任何解决方案,但我找不到任何东西。
我认为您在谈到度量与计算列时混淆了一些事情。列是在数据加载阶段逐行计算的,并存储在表中,而度量是对当前加载到模型中的数据执行的计算,并在查询时计算。
您需要创建一个度量而不是计算列:
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])