3

我的 MDX 查询检索了大约 10 个列名称(其中一个实际上是键 EVENT_ID - 用于报告中的链接目的和向下钻取行为)+ 一个时间度量(我们工厂每天的时间损失)+ 一个预算度量。

由于我拥有所有这些列,因此我将无法“包含空单元格”-> 导致数百万行。

我在柱形图中呈现时间损失 + 评估移动平均线(来自后面的代码,非常复杂..) + 呈现预算线。我已经使用子报表在自上而下的布局中放置了一系列图表,只有图表系列使用参数进行了更改,所以我希望所有图表看起来都相同(x 轴上的起点和终点相同)纵观他们,只有系列组会改变->比较会很容易。

我的问题是,

由于 MDX 查询仅报告我们实际有时间损失的天数,

  • 我将无法评估数据集中最后一天之后发生的天数的移动平均值。

  • 我无法显示数据集中最后一天之后发生的天数的预算值。

这会导致非常不愉快的布局或子报表,其中一些图表具有上个月/天的值并且不...

请问有没有人解决过类似的问题?我已经尝试过在另一个保存所有日期的 DataSet 之间使用 Lookup-function 来解决这个问题,但是 seriesGroups 的使用使它有点不可用。

添加信息:

看下面的图片

da*n 我只有 6 分,需要 10 才能发布图片:/

细线可以评估滑动平均值,但我无法在mar之后填充值,因为我的数据集在mars之后没有值。

图像应显示一月、二月、三月、四月、五月的柱形图。我只有在 2 月和 3 月评估的值和滑翔平均值 - > 滑翔平均值不会在 3 月之后显示。我希望它也能在 4 月和 5 月进行评估。滑翔平均值是从代码隐藏中评估的:

iif(DateValue(Fields!Date.Value)>=DateValue(First(Fields!Date.Value, "TimeData"))
,Code.movAvg.movingAverage(
    Sum(Fields!Time.Value,"CategoryGroup")
    ,DateValue(Min(Fields!Date.Value, "TimeData"))
    ,DateValue(Fields!Date.Value)
    ,DateValue(Max(Fields!Date.Value, "TimeData"))
    ,Parameters!Type.Value
    ,"TOTAL"
)
,Nothing

)

但是此代码不会针对“空”日期执行...

我看到两个选项:

  1. 更改 mdx 查询以给我所有期间的 0 值(包括空单元格?)
  2. 或者以某种方式在 SSRS 中能够填充数据集中不存在的时间段的值

如果我选择选项 1,我需要减少查询中的字段计数(当前 10 个不行),但由于报告参数之一实际上映射到这些字段中的 5 个(能够更改分组行为) 我需要使查询动态、评估的 fron 连接字符串,这导致以后无法使用查询设计器......

这就是我瞄准选项 2 的原因。但我已经开始明白选项 1 是唯一的选择……

4

1 回答 1

1

我现在已经解决了这个问题,这样做:

我在 SSRS 中创建了两个数据集。

  1. 此数据集包括该期间的所有日期和所有“度量”,MDX 查询中没有其他维度属性。
  2. 该数据集仅包括该期间的 NON EMPTY 日期、主要度量(小时)以及我感兴趣的所有维度属性(大约 10 个属性)。

然后我在我的图表中设置数据集#1(所有日期都显示),并且我有兴趣显示维度属性,我使用 SSRS 函数LookupSet来连接数据集之间的数据(我在日期字段上连接数据)。不是最漂亮的解决方案,但最终效果肯定很好。

于 2012-05-30T09:03:32.480 回答