【发布时间】:2014-09-23 05:53:50
【问题描述】:
我从 SSAS 多维数据集创建了一个 SSRS 报告,报告上有 2 个日期过滤器以及其他过滤器,我的日期参数有很多问题
- 如果日期范围参数设置为空,假设用户只想过滤日期范围 1,则报告不会返回任何数据,
- 如果这两个日期范围均已设置,则返回的数据包括所选日期范围之外的行
我已使用查询设计器创建代码,但我修改了日期参数表达式以传递日期 mdx 字符串。
SELECT
NON EMPTY { [Measures].[Total Amount Debit],
[Measures].[Holiday Value],
[Measures].[Total Amount Credit],
[Measures].[Canx Local Amount],
[Measures].[Canx Amount] }
ON COLUMNS,
NON EMPTY { ([Holiday ID].[Hierarchy].[Holiday ID].ALLMEMBERS * [Holiday ID].[Surname].[Surname].ALLMEMBERS * [depparture_date].[Hierarchy].[Start Date].ALLMEMBERS * [Compensation_Types].[Compensation Type].[Compensation Type].ALLMEMBERS * [Supplier_Deduction].[Supplier deduction].[Supplier deduction].ALLMEMBERS * [Component_Type].[Hierarchy].[Supplier Name].ALLMEMBERS * [Voucher Used].[Voucher used].[Voucher used].ALLMEMBERS * [task_created].[Hierarchy].[CREATED].ALLMEMBERS * [Booked_Date].[Booked Date].[Booked Date].ALLMEMBERS * [CR_Task ID].[Task ID].[Task ID].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION,
MEMBER_UNIQUE_NAME
ON ROWS
FROM
(
SELECT
( STRTOMEMBER(@FromBookedDateBookedDate) : STRTOMEMBER(@ToBookedDateBookedDate) )
ON COLUMNS
FROM
(
SELECT
( STRTOMEMBER(@FromtaskcreatedHierarchy) : STRTOMEMBER(@TotaskcreatedHierarchy) )
ON COLUMNS
FROM
(
SELECT
( STRTOSET(@CompensationTypesCompensationType, CONSTRAINED) )
ON COLUMNS
FROM
(
SELECT
( STRTOSET(@CompoMadeCompensationmade, CONSTRAINED) )
ON COLUMNS
FROM
(
SELECT
( STRTOSET(@SupplierDeductionSupplierdeduction, CONSTRAINED) )
ON COLUMNS
FROM
[Customer_Relations]
)
)
)
)
)
WHERE
(
IIF( STRTOSET(@CompoMadeCompensationmade, CONSTRAINED).Count = 1, STRTOSET(@CompoMadeCompensationmade, CONSTRAINED), [Compo_Made].[Compensation made].currentmember )
)
CELL PROPERTIES VALUE,
BACK_COLOR,
FORE_COLOR,
FORMATTED_VALUE,
FORMAT_STRING,
FONT_NAME,
FONT_SIZE,
FONT_FLAGS
如何处理日期参数中的null 值?
【问题讨论】: