【问题标题】:How to make a dynamic measure based on the date chosen如何根据所选日期进行动态测量
【发布时间】:2017-09-01 05:18:56
【问题描述】:

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

所以我想要一个静态日期“2017-01-01”,如果更少则计算 [amount]+[count],如果更大则计算 [amount2]+[count2]。

例如

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

背景:

量度 Amount/2 和 Count/2 都是计算量度,是事实表中各个列的总和。时间表 DimDate 是一个普通时间表,其中 [Date] 列 yyyy-mm-dd 由事实表中的 [Reportdate] 列连接。

【问题讨论】:

    标签: ssas powerbi powerpivot dax ssas-tabular


    【解决方案1】:

    昏暗日期:

    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])
    

    【讨论】:

      【解决方案2】:

      如果您的 Date 成员的 Key 是整数,我有一个解决方案,例如对于 Date 维度中的成员 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]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-14
        • 2021-09-09
        相关资源
        最近更新 更多