powerbi - 如果是第一个日期或最后一个日期,则使用一个聚合;如果其他任何一天,使用另一个聚合
问题描述
我需要创建以下矩阵,如果它是开始或月末,我在类别 1 中聚合 A 或 B 并计算 SUM 但如果它是一个月中的任何其他天,但第一天或最后一天,我标记 A 或 B在类别 2 中并计算 SUM。我想我需要使用 SWITCH,不是吗?
从评论中编辑信息
喜欢创建 3 列:
isStart = IF ( main_table[date] = STARTOFMONTH ( main_table[date] ), 1, 0 )
isEnd = IF ( main_table[date] = ENDOFMONTH ( 'main_table'[date] ), 1, 0 )
in_between_date =
IF ( AND ( main_table[date] <> ENDOFMONTH ( 'main_table'[date] ),
main_table[date] <> STARTOFMONTH ( main_table[date] ) ), 1, 0 )
然后,使用我的类别创建列,例如
start_end =
IF ( OR ( NOT ( ISERROR ( SEARCH ( "A", main_table[code] ) ) ),
main_table[code] = "B" ),
"Category 1",
BLANK () )
和
in_between =
IF ( OR ( main_table[code] = "B", main_table[code] = "A" ), "Category 2", BLANK () )
但是,我应该在 switch/if 中使用什么?= if(VALUES('main_table'[isStart]) = 1
,然后呢?
解决方案
推荐阅读
- javascript - 样条图上的标记点绑定到 x 和 y 轴
- node.js - 在 MongoDB 中查找循环引用
- ruby-on-rails - 我们在 Action Cable 中与服务器断开连接后如何更改 ping 时间?
- excel - *.xlsx 文件何时以及为什么包含 *.bin 文件?
- python - 将变量(字母和数字)组合成python中的问题
- php - 如何访问 Datetime 对象中的数据?
- c# - 如何访问 ASP.NET Core 应用程序中的现有上下文?
- asp.net - QrCoder Asp.Net - 如何去除噪音?
- scala - 如何在scala中捕获异常?
- assembly - Windows 堆栈上的“额外”32 个字节是什么?