首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MDX日期格式

MDX日期格式
EN

Stack Overflow用户
提问于 2016-04-29 12:24:48
回答 3查看 2.4K关注 0票数 0

谁能告诉我如何在MDX查询中格式化日期?我们不使用SSRS来生成报告,我们有自己的自定义报告工具建立在SSAS.Date过滤器发送日期的yyyy/mm/dd格式。到目前为止,我们还没有日期维度。我的date成员如下所示:

代码语言:javascript
复制
[CNB_DimSampleInfo].[COAReleasedON].&[2013-01-02T03:20:00]. 

如何在STRTOmemeber中设置日期格式?我试过这样做。我的问题是,来自用户的值将如何适应我的成员格式,如下所示。我知道SSRS很容易做到,但我们不使用ssrs。下面是我的代码

我的代码

代码语言:javascript
复制
 SELECT 
  [Measures].[Result] ON COLUMNS
 ,NON EMPTY 
    {
        [CNB_DimProduct].[ProductUcode].[ProductUcode].ALLMEMBERS*
        [CNB_DimProduct].[ProductDesc].[ProductDesc].ALLMEMBERS*
        [CNB_DimTest].[TestUcode].[TestUcode].ALLMEMBERS*
        [CNB_DimTest].[TestName].[TestName].ALLMEMBERS*
        [CNB_DimSampleInfo].[LotNo].[LotNo].ALLMEMBERS*
        [CNB_DimSampleInfo].[BatchNo].[BatchNo].ALLMEMBERS*
        [CNB_DimSampleInfo].[COAReleasedBy].[COAReleasedBy].ALLMEMBERS*
        [CNB_DimSampleInfo].[COAReleasedON].[COAReleasedON].ALLMEMBERS*
        [CNB_DimSampleInfo].[SampleReferenceNo].[SampleReferenceNo].ALLMEMBERS*
        [CNB_DimSampleInfo].[AnalysedBy].[AnalysedBy].ALLMEMBERS*
        [CNB_DimSampleInfo].[AnalysedOn].[AnalysedOn].ALLMEMBERS
    } ON ROWS
FROM 
(
  SELECT 
    StrToMember
    (
            "[CNB_DimSampleInfo].[COAReleasedON].[" + Format("2013-01-02","yyyy MM")
          + "]:STRTOMember([CNB_DimSampleInfo].[COAReleasedON].["
        + 
          Format
          ("2013-01-02"
           ,"yyyy MM"
          )
      + "]"
    ) ON COLUMNS
  FROM Cube001
);
EN

回答 3

Stack Overflow用户

发布于 2016-04-29 17:50:02

还有一个StrToSet,它更适合您的环境,因为您使用的是返回一个集合的:运算符:

代码语言:javascript
复制
...
...
FROM 
(
  SELECT 
    StrToSet
    (
            "[CNB_DimSampleInfo].[COAReleasedON].[" + Format("2013-01-02","yyyy MM")
          + "]:[CNB_DimSampleInfo].[COAReleasedON].["
        + 
          Format
          ("2013-01-02"
           ,"yyyy MM"
          )
      + "]"
     ,CONSTRAINED
    ) ON COLUMNS
  FROM Cube001
);

代码语言:javascript
复制
Format("2013-01-02","yyyy MM")

日期的键值是否如下所示?

代码语言:javascript
复制
[CNB_DimSampleInfo].[COAReleasedON].[2013 01]
票数 0
EN

Stack Overflow用户

发布于 2016-04-29 19:23:39

您的date成员

代码语言:javascript
复制
[CNB_DimSampleInfo].[COAReleasedON].&[2013-01-02T03:20:00]

看起来不适合作为用户日期参数,因为它精确到分钟(可能是秒)。除非用户精确匹配时间,否则他们将什么也得不到。但是,您可能是通过在UI中使用LimitToList选择列表来强制执行精确匹配。

要获取此成员名称,您可以将输入字符串格式化为:

格式(您的输入参数,'yyyy-MM-ddThh:mm:ss')

票数 0
EN

Stack Overflow用户

发布于 2016-05-03 12:43:16

我试过使用filter,如下所示

代码语言:javascript
复制
SELECT
[Measures].[Result] ON COLUMNS
,NON EMPTY
 {
  filter([CNB_DimSampleInfo].[COAReleasedON].members,instr([CNB_DimSampleInfo].[COAReleasedON].currentmember.member_caption,"2013-01-02")>0 or instr([CNB_DimSampleInfo].[COAReleasedON].currentmember.member_caption, "2013-04-01")>0)

   *[CNB_DimProduct].[ProductUcode].[ProductUcode].ALLMEMBERS*
    [CNB_DimProduct].[ProductDesc].[ProductDesc].ALLMEMBERS*
    [CNB_DimTest].[TestUcode].[TestUcode].ALLMEMBERS*
    [CNB_DimTest].[TestName].[TestName].ALLMEMBERS
} ON ROWS

来自Cube002

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36929516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档