sql-server-2012 - 另一个列值等于 FALSE 的 Max Date 仅不是 TRUE
问题描述
I have a table
emp_id Visit Date non_billable
1 5/2/2021 FALSE
1 5/5/2021 FALSE
1 5/6/2021 TRUE
尝试了类似的东西:
Measure =
VAR LatestDate =
CALCULATE ( MAX ( 'Table1'[visit_date] ), ALL ( 'Table1' ) )
RETURN
( ( 'Table1'[non_billable] ) = FALSE )
试图找到 visit_date 的最大日期,其中 non_billable = FALSE 所以对于 emp_id = 1 最大日期将是 2021 年 5 月 5 日而不是 2021 年 5 月 6 日
解决方案
您可以使用如下所示的窗口功能。
使用case
表达式检查non_billable
=FALSE
max(case when non_billable = 'FALSE' then visit_date end) over (partition by empid)
推荐阅读
- java - 在android中如何将接受请求的完整节点移动到历史节点并将其从接受节点中删除
- ios - UIWebView 中的 HTML 加载崩溃
- java - 将对象添加到列表
- android - 无法使用 @PrimaryKey(autoGenerate = true) 更新
- c# - 是否有类似条件运算符但用于表达式的东西?
- html - html/css定位图片
- rest - 微服务中的 REST API 调用过多
- r - 使用 over(), R 加入 SpatialPointsDataFrame 和 SpatialLinesDataFrame
- asp.net-mvc - 在 MVC 项目中使用 LINQ,如何按连接表的值排序?
- python - 如何根据 sql 查询中的变量自动填充 csv 名称