【问题标题】:PowerBI DAX Measure To give a distinct count in last 30 daysPowerBI DAX Measure 提供过去 30 天的不同计数
【发布时间】:2021-11-08 19:19:44
【问题描述】:

我是 PowerBI/DAX 的新手,无法弄清楚如何创建一个衡量标准,让我能够明确统计过去 30 天内签署过表格的客户。我有一个客户 ID 字段 (Cust_ID),表格签名日期 (FormSignDTS)。这是我尝试过的......

Last 30 Days = 
   VAR _TodaysDate = Today()
   VAR _StartDate = dateadd (Cutomer[FormSignedDTS], -30, Day)
  return 
  calculate (distinctcount (Customer[CustID]), keepfilters (Customer[FormSignedDTS] >= _StartDate))

但它得到以下错误... "在调用 dateadd 函数时指定了包含重复日期的日期列"

我在这方面收到的任何帮助将不胜感激! 谢谢

【问题讨论】:

    标签: powerbi dax measure


    【解决方案1】:

    您创建了变量 TodaysDate,但从未在度量中的任何地方使用它。

    这将为您提供表中每个 CustID 的不同计数...

    Distinct Count of Customers:=DISTINCTCOUNT(Customer[CustID])
    

    但您只需要过去 30 天内的客户。所以,我们只需要弄清楚今天的负 30 是多少,然后过滤到比那个新的项目。

    Last 30 Days:=VAR startDate = Today() - 30
    
    RETURN
    
    CALCULATE(DISTINCTCOUNT(Customer[CustID]),Customer[FormSignedDTS]>=startDate)
    

    【讨论】:

      【解决方案2】:

      如果您想要过去 30 天的不同客户计数,则不要操纵签名日期。相反,您计算签名日期大于 Today() 减去 30 天的表的不同计数。

      因此,将变量 StartDate 更改为今天减去 30 天,并在您的过滤器中使用它。

      【讨论】:

      • 非常感谢您的回复。你是说这个... Last30Days = VAR _TodaysDate = Today() VAR _StartDate = dateadd (_TodaysDate, -30, Day) 返回计算 (distinctcount (Customer[CustID]), keepfilters (Customer[FormSignedDTS] >= _TodaysDate)) ?
      猜你喜欢
      • 1970-01-01
      • 2021-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-02
      • 2022-01-18
      • 2023-01-07
      • 1970-01-01
      相关资源
      最近更新 更多