Reporting services SSRS中的图表仅显示了几个星期';s数据

Reporting services SSRS中的图表仅显示了几个星期';s数据,reporting-services,graph,mdx,Reporting Services,Graph,Mdx,我正在用SSRS制作一个图表,它将突出显示从某个特定的一周到该日期的52周的每周销售额 为此,我在SSRS中创建了以下数据集: WITH SET LAST52WEEKS AS { STRTOMEMBER("[Dim Date].[Week].&[2017]&[1]&[1]&[4]").Lag(52): STRTOMEMBER("[Dim Date].[Week].&[2017]&[1]&[1]&

我正在用SSRS制作一个图表,它将突出显示从某个特定的一周到该日期的52周的每周销售额

为此,我在SSRS中创建了以下数据集:

WITH SET LAST52WEEKS AS
    {   
        STRTOMEMBER("[Dim Date].[Week].&[2017]&[1]&[1]&[4]").Lag(52):
        STRTOMEMBER("[Dim Date].[Week].&[2017]&[1]&[1]&[4]")
    }
Select {[Measures].[Quantity]} ON 0,
{Last52Weeks} ON 1
FROM (
    Select {
        [Dim Store2].[Store Key].&[1024]
        } on columns
    from [DSV_FactStoreSales 1]
    )
其按预期工作,并有一周的输出<代码>13到<代码>4,每周的销售<代码>数量>400(一周的数量除外(空)

但是,当我将此数据作为Y轴添加到SSRS中的图形中,并将
Weeks
属性作为X轴时,只返回四行。返回的行是针对周的

1,19,3,40

图中所有其他值都为空。有人知道为什么会出现这种情况吗

问候,

森德泽

使用间隔值=1编辑更新的x轴

当我更改
水平轴属性下的
间隔值
时,我现在得到x轴的以下值:

1,13,14,[…],19,2,20,21,22,23,[…],29,3,30,31,32,[…],39,4,41,42,[…],53

在这里,我用粗体显示了一些奇怪的结果。我猜这些值是
季度数
?但是我使用
周数
作为分组变量

编辑

跟着迈克·哈尼,我想:

WITH SET LAST52WEEKS AS
    {STRTOMEMBER("[Dim Date].[Date].&[1]&[2017-01-29]").Parent.Lag(52)
    :
    STRTOMEMBER("[Dim Date].[Date].&[1]&[2017-01-29]").parent}
Select {[Measures].[Quantity]} ON 0,
{Last52Weeks} ON 1
FROM (
    Select {
        [Dim Store2].[Store Key].&[1024]
    } on columns
from [DSV_FactStoreSales 1])
应该可以工作,但它只是返回数量为(null)的查询。为什么这不等同于我编写的另一个查询,而是基于日期而不是星期

编辑

我还注意到,我正在创建的图表最右边是第52周,而最右边应该是第4周

编辑

编辑

已将查询编辑为:

WITH SET LAST52WEEKS AS
{STRTOMEMBER("[Dim Date].[Hierarchy].&[2017 W4]").Lag(52):STRTOMEMBER("[Dim Date].[Hierarchy].&[2017 W4]")}
Select {[Measures].[Quantity]} ON 0,
{(Last52Weeks,[Dim Store2].[Store Name].Allmembers)} ON 1
from [DSV_FactStoreSales 1]
其中层次结构是一个属性层次结构,其值为
2010 W1
,…,
2018 W52

但这给了我一个输出:

2016 W40    Store1  300
2016 W40    Store2  400
...
2017 W39    Store1  400
我期望输出为:

2016 W4 Store1  300
2016 W4 Store2  400
...
2017 W4 Store1  400
有什么想法吗?它只是一个具有一个属性的层次结构,
周名
(我已经使用
[Dim Date].[hierarchy].[Week Name].&2017 W4]
[Dim Date].[hierarchy].&2017 W4]
尝试了这两种查询,它们都具有相同的输出

编辑(现在非常接近!)


右键单击x轴并选择“水平轴属性”。在“轴选项”下,将间隔值从“自动”更改为“1”。

我可以看到当前图表存在两个问题。一个问题是,您的周数被视为文本,这就是为什么排序具有类似于
19、2、20
的序列。另一个问题是,它无法区分一年和另一年的周数在哪里结束ar启动

我不熟悉mdx。我希望您能够制作一个简单的数据集,它纯粹是带有日期的销售列表。对于我的解决方案,我使用了Oracle查询,如:

SELECT date SALEDATE, ID FROM sales
WHERE date BETWEEN '28-MAR-2016' AND '28-JAN-2017'
对于新图表,使用
[Count(ID)]
作为值。然后需要两个类别组,第一个用于年度,另一个用于周数。您可以使用表达式从日期字段获取这些值。对于第一个类别组,将
组设置为:
标签设置为

=DatePart(DateInterval.Year, Fields!SALEDATE.Value)
=DatePart(DateInterval.WeekOfYear, Fields!SALEDATE.Value)
对于第二个,将
组设置为打开:
标签设置为

=DatePart(DateInterval.Year, Fields!SALEDATE.Value)
=DatePart(DateInterval.WeekOfYear, Fields!SALEDATE.Value)

要隐藏销售额低于400的列,请右键单击第二个类别组(第一周)并添加筛选器:
[Count(ID)](integer)>400

即使您的数据集与我使用的原始数据方法不同,希望这将引导您朝着正确的方向前进


感谢您的回复!但是,我仍然有相同的问题。但这增加了对该问题的一些了解。使用间隔值1,我现在可以看到x轴上的每个值,但它是以一种奇怪的(每季度?)方式聚集的。我将用我在x轴上的值更新OP。有屏幕截图吗?我们需要查看[Dim Date]的结构维度。我猜[Week]是一个具有4个级别的层次结构?我想您应该使用最低级别的属性层次结构。@MikeHoney是的,没错。[Dim Date]维度是一个5级层次结构,级别为YQMWD。最奇怪的是,当我删除一些模拟变量时,我得到了显示正确数据的图形。但是,使用新数据集并根据StoreKeys对数据进行排序会产生相同类型的图形,仅显示4个日期。@MikeHoney只是为了澄清一下,您建议创建MDX查询改为基于日期,并使用.lag(365)代替.lag(52)好几个星期了?@MikeHoney我试图实现一个基于日期的解决方案,但没有成功。我在OP中编辑了它。你有什么建议吗?@PeteRennardCumming感谢你的回复!我希望这可以在我的解决方案中创建。图中的标签非常清晰。为什么需要使用trunc()?
trunc()
可能没有必要,因为您只需在报告中使用DatePart。我已将它们从我的答案中删除,以简化它。如果您按天包括图表,则始终可以添加一个截断的日期作为额外列。@PeteRennardCumming我不太明白您为什么要使用两个类别组。我尝试实现这一点,但与以前有很大不同您所做的。您是在Group on和Label上使用具有相同表达式的两个类别,还是在Group on上使用
=DatePart(DateInterval.Year,Fields!SALEDATE.Value)
=DatePart(DateInterval.Year,Fields!SALEDATE.Value)
作为标签选项,然后应用相同的逻辑替换DatePart(DateInterval,带有DatePart的年份)(DateInterval,Week?是后者,对每个类别组使用不同的公式。我现在在回答中已经阐明了这一点。您可以使用一个类别组对两个公式进行分组,并连接标签的值。通过使用两个类别组,您可以在所有相关列周围获得2016和2017扳手,而不是有年度标签