powerbi - Dax 度量以正确计算前一周的类别和小计
问题描述
我在 powerbi 中使用矩阵表来显示不同区域(类别)的前一周总数。我的大部分工作都在工作,但我无法正确地让表格上的小计工作。我相信这与我正在使用的过滤有关 - 我无法纠正它。
如您所见,我之前第 24 周的总计丢失了
达克斯代码是:
VAR Area =
MAX ( 'SumTable'[Area Name] )
VAR CurrentWeek =
SELECTEDVALUE ( SumTable[WeekofYear] )
VAR CurrentYear =
SELECTEDVALUE ( SumTable[Year] )
VAR MaxWeekNumber =
CALCULATE ( MAX ( SumTable[WeekofYear] ), ALL ( SumTable ) )
RETURN
IF (
HASONEVALUE ( SumTable[Area Name] ),
SUMX (
FILTER (
ALL ( SumTable ),
IF (
CurrentWeek = 1,
SumTable[WeekofYear] = MaxWeekNumber
&& SumTable[Year] = CurrentYear - 1
&& SumTable[Area Name] = Area,
SumTable[WeekofYear] = CurrentWeek - 1
&& SumTable[Year] = CurrentYear
&& SumTable[Area Name] = Area
)
),
SumTable[BOE]
),
SUMX (
FILTER (
ALLSELECTED ( SumTable ),
IF (
CurrentWeek = 1,
SumTable[WeekofYear] = MaxWeekNumber
&& SumTable[Year] = CurrentYear - 1,
SumTable[WeekofYear] = CurrentWeek - 1
&& SumTable[Year] = CurrentYear
)
),
SumTable[BOE]
)
)
数据表: 示例表格式
谢谢,第一次发贴!
乙
解决方案
我将从我的日期表中拆分我的数据表开始。
而且我猜你不需要所有的整个表,只需要年份和周数的列,并将区域保持在上下文中,这样你就不必担心 HASONEVALUE 是否可以正常工作。
SELECTEDVALUE 仅在上下文中只有该列的单个值时返回,而不是总计和小计的情况。
MyMeasure =
VAR CurrentWeek =
MAX( SumTable[WeekofYear] )
VAR CurrentYear =
MAX( SumTable[Year] )
VAR MaxWeekNumber =
CALCULATE ( MAX ( SumTable[WeekofYear] ), SumTable[Year] = CurrentYear-1 )
RETURN
IF(
CurrentWeek = 1,
CALCULATE(
SUM(SumTable[BOE]),
FILTER (
ALL ( SumTable[Year],SumTable[WeekofYear]),
SumTable[WeekofYear] = MaxWeekNumber
&& SumTable[Year] = CurrentYear - 1
)
),
CALCULATE (
SUM ( SumTable[BOE] ),
FILTER (
ALL ( SumTable[WeekofYear] ),
SumTable[WeekofYear] = CurrentWeek-1
)
)
)
我没有机会确认此代码。
推荐阅读
- azure - 是否可以从 Azure 数据工厂读取 Azure Databricks 表?
- react-native - onPress 导航不导航
- sql-server - 重新审视作为企业软件的 MS Access
- c++ - 字符串数据类型变量初始化
- python - Python 的 IntelliSense 无法始终如一地工作
- php - PHP "EMPTY" 常量名
- android - 抽屉打开时,带有导航抽屉动画的浮动图标不会隐藏
- javascript - lodash 可以删除仅包含 null 或 undefined 的数组吗?
- javascript - 如何在 NodeJS 子进程中创建终端实例?
- amazon-web-services - CNAME 到 AWS 服务 - 浏览器不接受证书