powershell - DAX:如何覆盖评估上下文的一个组件
问题描述
我正在创建一个折线图和堆积柱形图,并且应该在该线上绘制的度量有问题。x 轴是时间(每个月一个条目)。我有两个切片器,图表上的条形图是正确的。
我们希望这条线是一个常数值,代表 1 月份计划的预算。所以我想继续使用过滤器中的切片器值,但想覆盖时间上下文。我试过了:
Annual Budget = CALCULATE (
'Measures'[Annual OP],
KEEPFILTERS(Month('Date'[Date] = 1))
)
我在这里尝试做的是保留切片器过滤器,然后强制日期过滤器始终使用第 1 个月。我看到的是年度预算仍然每月更改并且等于每个月的年度 OP 值。
解决方案
由于没有样本数据,我们可以创建一个小模型,希望能有所帮助。
销售表
日期 | 数量 | 产品 |
---|---|---|
2020-01-01 | 10 | 1 |
2020-01-02 | 20 | 2 |
2020-02-05 | 15 | 1 |
2020-02-06 | 25 | 2 |
2020-03-04 | 50 | 1 |
带有 MonthNumber 和 WeekDayNumber 的日历表,仅用于测试切片器
Calendar =
ADDCOLUMNS(
CALENDAR( "2020-01-01", "2020-03-31"),
"Month Number", MONTH( [Date] ),
"WeekDayNumber", WEEKDAY( [Date] )
)
然后 Date 列上的关系创建模型
然后 [销售额] 度量
Sales Amount = SUM( Sales[Amount] )
现在我们可以编写一个度量来计算切片器当前选择中第一个 Calendar[MonthNumber] 的销售额,为此我们使用ALLSELECTED
First Month Sales Amount =
VAR FirstMonth = CALCULATE( MIN ( Calendar[Month Number] ), ALLSELECTED( 'Calendar' ) )
RETURN
CALCULATE (
[Sales Amount],
'Calendar'[Month Number] = FirstMonth
)
如果月份总是一月而不是切片器选择的第一个,那么我们可以写一个不同的度量
January Sales Amount =
CALCULATE (
[Sales Amount],
'Calendar'[Month Number] = 1
)
现在我们可以创建一个折线图和堆积柱形图,其中第一个月或一月的销售金额度量为线,销售金额为列,在销售[产品]上有一个切片器,在日历[月份]上有一个切片器和一个切片器在日历 [WeekdayNumber] 上。
由于我们想使用行 aa 引用列,我们想使用相同的 Y 轴,因此我们将 Y 轴的属性“显示辅助”设置为关闭
现在图表的行为与预期一样,根据切片器选择进行相应更改
推荐阅读
- python - 用帽子在python中累积
- javascript - 从节点服务器访问 js 时出错
- regex - 如何在Python中找到以整数结尾的子字符串的最大值?
- reactjs - 为什么我会收到无效的道具类型警告?
- loops - 嵌套依赖 for 循环的大 O 表示法总是 n^2
- python - 如何在 Python 中绘制参数方程?
- django - 在 Django 视图中将代码从 FBV 转换为 CBV
- javascript - 当名称为字符串时,在类中调用静态 JavaScript 函数
- java - 二进制排序树中的 compareTo 方法
- c# - 如何修改构建后事件命令以仅复制确切的 dll 而不是复制整个文件夹?