计算每个任务类型的当前周和前一周的比率
Calculate Ratio of Current and Previous Week per Task Type
我是 PowerBI
的新手,来自 R
背景,我很难理解 PowerBI
如何决定在哪种情况下评估一项措施。
我有以下措施,计算前一周和当前周之间的比率:
AHT = DIVIDE(SUM('Daily Tasks'[SHT]), SUM('Daily Tasks'[#Tasks]))
AHT Current Week = CALCULATE([AHT], 'Dates'[Date] >= TODAY() - 7)
AHT Previous Week = CALCULATE([AHT], 'Dates'[Date] < TODAY() - 7 && 'Dates'[Date] >= TODAY() - 14)
AHT Ratio Week = DIVIDE([AHT Current Week], [AHT Previous Week])
到目前为止一切顺利。现在我想在卡片视觉中显示最小比率(连同具有此比率的任务类型)。因此,我创建了以下 2 个措施:
Top of the Week % =
MAXX(
TOPN(
1,
SUMMARIZECOLUMNS(
'Daily Tasks'[Task Type],
"Ratio", [AHT Ratio Week]
),
[Ratio], ASC
),
[Ratio] - 1
)
Top of the Week =
CONCATENATEX(
TOPN(
1,
SUMMARIZECOLUMNS(
'Daily Tasks'[Task Type],
"Ratio", [AHT Ratio Week]
),
[Ratio], ASC
),
[Task Type]," - "
)
视觉显示正确的值,一切似乎都很好。但是,如果我 select 任何其他视觉对象中的任务类型,或者使用切片器过滤单个任务类型,则卡片视觉对象会显示一条错误消息,指出
SummarizeColumns and AddMissingItems must not be used in this context
所以显然有些不对劲。我该如何解决?
SUMMARIZECOLUMNS 不支持上下文转换中的评估。这使得它几乎不可能用于测量。您将希望改用 Summarize。
感谢@Randy Minder 的提示,我得以解决问题:
SUMMARIZE
而不是 SUMMARIZECOLUMNS
成功了。
- 我只需要过滤掉
BLANK
个值,最后得到以下代码:
Top of the Week % =
MAXX(
TOPN(
1,
FILTER(
SUMMARIZE(
ALL('Daily Tasks'[Task Type]),
'Daily Tasks'[Task Type],
"Ratio",
[AHT Ratio Week]
),
NOT(ISBLANK([Ratio]))
),
[Ratio],
ASC
),
[Ratio] - 1
)
我是 PowerBI
的新手,来自 R
背景,我很难理解 PowerBI
如何决定在哪种情况下评估一项措施。
我有以下措施,计算前一周和当前周之间的比率:
AHT = DIVIDE(SUM('Daily Tasks'[SHT]), SUM('Daily Tasks'[#Tasks]))
AHT Current Week = CALCULATE([AHT], 'Dates'[Date] >= TODAY() - 7)
AHT Previous Week = CALCULATE([AHT], 'Dates'[Date] < TODAY() - 7 && 'Dates'[Date] >= TODAY() - 14)
AHT Ratio Week = DIVIDE([AHT Current Week], [AHT Previous Week])
到目前为止一切顺利。现在我想在卡片视觉中显示最小比率(连同具有此比率的任务类型)。因此,我创建了以下 2 个措施:
Top of the Week % =
MAXX(
TOPN(
1,
SUMMARIZECOLUMNS(
'Daily Tasks'[Task Type],
"Ratio", [AHT Ratio Week]
),
[Ratio], ASC
),
[Ratio] - 1
)
Top of the Week =
CONCATENATEX(
TOPN(
1,
SUMMARIZECOLUMNS(
'Daily Tasks'[Task Type],
"Ratio", [AHT Ratio Week]
),
[Ratio], ASC
),
[Task Type]," - "
)
视觉显示正确的值,一切似乎都很好。但是,如果我 select 任何其他视觉对象中的任务类型,或者使用切片器过滤单个任务类型,则卡片视觉对象会显示一条错误消息,指出
SummarizeColumns and AddMissingItems must not be used in this context
所以显然有些不对劲。我该如何解决?
SUMMARIZECOLUMNS 不支持上下文转换中的评估。这使得它几乎不可能用于测量。您将希望改用 Summarize。
感谢@Randy Minder 的提示,我得以解决问题:
SUMMARIZE
而不是SUMMARIZECOLUMNS
成功了。- 我只需要过滤掉
BLANK
个值,最后得到以下代码:
Top of the Week % =
MAXX(
TOPN(
1,
FILTER(
SUMMARIZE(
ALL('Daily Tasks'[Task Type]),
'Daily Tasks'[Task Type],
"Ratio",
[AHT Ratio Week]
),
NOT(ISBLANK([Ratio]))
),
[Ratio],
ASC
),
[Ratio] - 1
)