首页 文章

如何根据所选日期进行动态测量

提问于
浏览
0

是否有可能创建一个计算的度量,根据相关时间表“DimDate”中动态选择的日期进行不同的计算?

所以我想要一个静态日期“2017-01-01”,如果更少计算[金额] [计数]和更大[金额2] [计数2] .

例如

if([Date]<"2017-01-01",[Amount]+[Count],[Amount2]+[Count2])

背景:

度量Amount / 2和Count / 2都是计算的度量,它是在事实表中找到的各列的总和 . 时间表DimDate是一个正常时间表,其中[Date]列yyyy-mm-dd通过事实表中的[Reportdate]列连接 .

2 回答

  • 0

    如果您的日期成员的密钥是一个整数,我有一个解决方案,例如对于日期维度中的成员2017-01-01,其密钥为20170101 .

    然后使用Adventure Works的以下示例可以非常轻松地修改以满足您的需求:

    WITH MEMBER [Measures].[SomeMeasure] AS
        IIF(STRTOVALUE([Date].[Date].CURRENTMEMBER.PROPERTIES("KEY")) < 20050714, "Before", "After")
    SELECT
        [Measures].[SomeMeasure] ON COLUMNS
    ,   [Date].[Date].[Date] ON ROWS
    FROM
        [Adventure Works]
    
  • 0

    DimDate:

    date
    01/11/2016
    01/12/2016
    01/01/2017
    01/02/2017
    01/03/2017
    

    措施:

    Amount = 1
    Count = 2
    Amount2 = 3
    Count2 = 4
    Measure = IF(FIRSTNONBLANK(dimDate[date],true)<DATEVALUE("01/01/2017"),
        [Amount]+[Count],[Amount2]+[Count2])
    

    enter image description here

    enter image description here

相关问题