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

时间:2017-04-06 09:12:22

标签: ssas powerbi powerpivot dax ssas-tabular

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

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

E.g

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

背景:

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

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分: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