在 SSRS 中使用 DAX 查询的日期范围

Date range using DAX query in SSRS

我正在使用 SSRS 2015 创建报告。数据来自表格立方体,因此我使用 DAX 查询来创建共享数据集。我想要做的是向我的报告添加参数,这将允许用户使用日历选择器根据他们的日期范围过滤数据。我试过了:

EVALUATE
FILTER(
SUMMARIZE(
  'PurchaseTable'
  ,'PurchaseTable'[Invoice Date]
),
  'PurchaseTable'[Invoice Date] >= DATEVALUE(FORMAT(@FromDate, "dd/MM/yyyy"))
  && 'PurchaseTable'[Invoice Date] <= DATEVALUE(FORMAT(@ToDate, "dd/MM/yyyy"))
)

但是它产生了一个错误: 发生以下系统错误:类型不匹配

我也试过:

  'PurchaseTable'[Invoice Date] >= @FromDate
  && 'PurchaseTable'[Invoice Date] <= @ToDate

并得到以下错误: DAX 比较操作不支持将 Date 类型的值与 Text 类型的值进行比较

我的 PurchaseTable[Invoice Date] 列是 dd/MM/yyyy 格式的日期类型。预先感谢您的帮助。

如果您在使用过 SSRS 后对向 DAX 添加参数感到满意,那么以下应该是您最终 DAX 的代码。

EVALUATE(
FILTER(
SUMMARIZE(
  'PurchaseTable'
  ,'PurchaseTable'[Invoice Date]
),
  'PurchaseTable'[Invoice Date] >= VALUE(@FromDate)
  && 'PurchaseTable'[Invoice Date] <= VALUE(@ToDate)
))

确保您的参数始终为日期类型。

希望这有帮助吗?