DAX for Power BI 中的 SQL 查询语句

TSQL Query Statement in DAX for Power BI

我正在尝试对使用 Where 条件的 Power BI table 中的所有行进行计数。

我不确定我做错了什么。希望你能帮帮我。这是 TSQL 语法和我想要的结果。当我执行 DAX 查询时,我什么也没得到。

我需要 DAX 语句以相同的方式工作并生成相同的结果。我已经成功地在 DAX 中使用 NOT IN,但出于某种原因,我缺少 IN 子句的某些内容。

TSQL:

SELECT Closed_Date
     , Closed_By
     , Count(*) CompletedTicket_By_Date
FROM Planning.dbo.IT_Support_Ticket
Where Status In ('Complete', 'Closed', 'Cancelled')
Group By Closed_Date
       , Closed_By

DAX:

Ticket Closed Measure = CALCULATE(COUNTROWS(Fact_IT_Support_Ticket)
,FILTER(Fact_IT_Support_Ticket, Fact_IT_Support_Ticket[Status]="Closed"),
Fact_IT_Support_Ticket[Status]="Complete", 
Fact_IT_Support_Ticket[Status]="Cancelled")

这可以使用 OR 运算符 ||.

仅使用一个具有多个条件的过滤器表达式来完成
Ticket Closed Measure =
CALCULATE (
    COUNTROWS ( Fact_IT_Support_Ticket ),
    FILTER (
        Fact_IT_Support_Ticket,
        Fact_IT_Support_Ticket[Status] = "Closed"
            || Fact_IT_Support_Ticket[Status] = "Complete"
            || Fact_IT_Support_Ticket[Status] = "Cancelled"
    )
)

如文档中所述,过滤函数的第二个参数是一个布尔表达式,按行计算。请注意,如果 Status 列中的每个值都是 CompleteClosedCancelled,上面的表达式会计算结果。 COUNTROWS 函数仅计算给定上下文中筛选的行数。

REFERENCE

我没有测试该解决方案,但它应该有效,请告诉我这是否适合您。