Datazen - SSAS表格模型 - 未考虑日期

时间:2016-02-15 11:23:04

标签: sql-server-2012 ssas business-intelligence dashboard datazen-server

我一直在使用Datazen一段时间,一直在努力理解它的内部工作原理,特别是缺乏关于它的文档。

无论如何,我有一个SSAS表格模型,在表中标有Date的Datetime字段。我使用这个表格模型在excel中创建报表,它工作正常。

现在,我想在Datazen中使用这个表格模型,我试图创建一个数据视图来读取MDX中的度量和属性

问题是当我在Datazen控制面板中将字段Creation Date标记为DateTime时,它给出了以下消息: Failed to refresh in Dashboard

这是我使用的MDX查询:

SELECT NON EMPTY { 
    [Measures].[Count of Misuse Bugs], 
    [Measures].[Count of Valid Bugs], 
[Measures].[Count of Bugs], 
[Measures].[Count of Invalid Bugs], 
[Measures].[Time Spent on invalid Bugs], 
[Measures].[Time Spent on Valid Bugs], 
[Measures].[Invalidity Ratio], 
[Measures].[Misuse Ratio] 
} ON COLUMNS, 
NON EMPTY { 
    (
    [Bugs].[BugID].[BugID].ALLMEMBERS * 
    [Bugs].[BugTitle].[BugTitle].ALLMEMBERS * 
    [Bugs].[Client].[Client].ALLMEMBERS * 
    [Bugs].[Current State].[Current State].ALLMEMBERS * 
    [Bugs].[Final Resolution].[Final Resolution].ALLMEMBERS * 
    [Bugs].[Internal Vs. External].[Internal Vs. External].ALLMEMBERS * 
    [Bugs].[Last Reasonable State].[Last Reasonable State].ALLMEMBERS * 
    [Bugs].[Owner].[Owner].ALLMEMBERS * 
    [Bugs].[Owner State].[Owner State].ALLMEMBERS * 
    [Bugs].[Project].[Project].ALLMEMBERS * 
    [Bugs].[Release].[Release].ALLMEMBERS * 
    [Bugs].[Responsibility].[Responsibility].ALLMEMBERS * 
    [Bugs].[TAR].[TAR].ALLMEMBERS * 
    [Creation Dates].[Creation Date].[Creation Date].ALLMEMBERS  
) 
} ON ROWS FROM [Bugs]

我正在使用SQL Server 2012.非常感谢任何帮助。 ADDING FIELD AS DATETIME IN DATAZEN DATA VIEW

2 个答案:

答案 0 :(得分:0)

Datazen在理解日期格式化方面不是最有活力的。尝试将它们格式化为yyyy-MM-dd。

编辑:我正在创建一个格式化日期的新成员。希望这对你有用。

WITH 
MEMBER DatazenDate AS
cdate(format([Creation Dates].[Creation Date].CURRENTMEMBER.MEMBER_VALUE, "yyyy-MM-dd"))       

SELECT NON EMPTY { 
    DatazenDate        
    [Measures].[Count of Misuse Bugs], 
        [Measures].[Count of Valid Bugs], 
    [Measures].[Count of Bugs], 
    [Measures].[Count of Invalid Bugs], 
    [Measures].[Time Spent on invalid Bugs], 
    [Measures].[Time Spent on Valid Bugs], 
    [Measures].[Invalidity Ratio], 
    [Measures].[Misuse Ratio] 
    } ON COLUMNS, 
    NON EMPTY { 
        (
        [Bugs].[BugID].[BugID].ALLMEMBERS * 
        [Bugs].[BugTitle].[BugTitle].ALLMEMBERS * 
        [Bugs].[Client].[Client].ALLMEMBERS * 
        [Bugs].[Current State].[Current State].ALLMEMBERS * 
        [Bugs].[Final Resolution].[Final Resolution].ALLMEMBERS * 
        [Bugs].[Internal Vs. External].[Internal Vs. External].ALLMEMBERS * 
        [Bugs].[Last Reasonable State].[Last Reasonable State].ALLMEMBERS * 
        [Bugs].[Owner].[Owner].ALLMEMBERS * 
        [Bugs].[Owner State].[Owner State].ALLMEMBERS * 
        [Bugs].[Project].[Project].ALLMEMBERS * 
        [Bugs].[Release].[Release].ALLMEMBERS * 
        [Bugs].[Responsibility].[Responsibility].ALLMEMBERS * 
        [Bugs].[TAR].[TAR].ALLMEMBERS * 
        [Creation Dates].[Creation Date].[Creation Date].ALLMEMBERS  
    ) 
    } ON ROWS FROM [Bugs]

答案 1 :(得分:0)

我遇到了同样的问题,

我使用了以下方法,

WITH 
MEMBER SalesDateAsDateTime as
Iif([Measures].[WorkOrderCount]=0, null, [Sales Date].[Calendar Date].CurrentMember.MEMBER_VALUE)

WITH 
MEMBER SalesDateAsDateTime AS
cdate(format([Sales Date].[Calendar Date].CURRENTMEMBER.MEMBER_VALUE, "yyyy-MM-dd")) 

WITH MEMBER [Measures].[SalesDateAsDateTime] AS 

([Sales Date].[Calendar Date].CurrentMember.MEMBERVALUE)

但是,所有这些都需要更长的时间来获得结果,最后我直接在立方体中添加了一个日期度量 MAXIMUM

很快