Power BI:基于日期切片器筛选合同列表的问题与解决方案
问题解决记录(更新于2024年7月15日)
我已通过以下方法解决此问题:
InDateRange = var _rangeStart=FIRSTDATE('财年报表'[日期]) var _rangeEnd=LASTDATE('财年报表'[日期]) return if( SELECTEDVALUE('租赁信息'[租期开始日期])<=_rangeEnd && SELECTEDVALUE('租赁信息'[终止条件日期])>=_rangeStart && SELECTEDVALUE('租赁信息'[终止条件日期])<>BLANK(), 1,0)
我创建了一个新列**'终止条件日期'**,确保所有行都包含结束日期——因为有效合同原本没有结束日期,但需要显示在结果中。初步看来,此方法有效。
原始问题
我尝试根据日历切片器(表2)选择的日期,筛选合同列表(表1),判断该日期是否处于合同的开始和结束日期之间。例如,若某合同始于1998年1月1日、止于2020年12月31日,我希望在切片器中选择任意年份时都能显示该合同详情。
在此示例中,选择1998-2020年间的任意年份时,该合同应出现在可视化表格中;若选择多个年份,仅显示一次。
说明:我仍在学习Power BI,曾尝试使用以下代码创建辅助列,标记合同应被“包含”或“排除”:
Date Included = IF ( FIRSTNONBLANK ( '表1'[租期开始日期], 1 ) <= MAX ( '财年报表'[日期]) && FIRSTNONBLANK( '表1'[终止条件日期], 1 ) >= MIN ( '财年报表'[日期]), "包含", "排除" )
我将此列用作可视化筛选器,期望选择财年切片器时显示标记为“包含”的合同。但该方法仅能筛选出开始日期在所选财年内的合同,无法显示后续年份的合同,直到合同结束。似乎未识别结束日期,且因表1与表2(财年表)已存在基于开始日期的活动关系,尝试建立结束日期与财年表的关系时出现歧义错误。
内容的提问来源于stack exchange,提问作者Paul Royle
相关产品推荐
相关产品推荐

