【问题标题】:Date range using DAX query in SSRS在 SSRS 中使用 DAX 查询的日期范围
【发布时间】:2018-01-04 23:43:30
【问题描述】:

我正在使用 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 类型的值进行比较

My PurchaseTable[Invoice Date] 列的日期类型为 dd/MM/yyyy 格式。提前感谢您的帮助。

【问题讨论】:

  • 建议的答案对您有用吗?

标签: reporting-services ssrs-2012 dax


【解决方案1】:

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

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

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

希望得到帮助?

【讨论】:

  • 乐于助人:)
猜你喜欢
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
  • 2021-07-05
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
相关资源
最近更新 更多