运行 或累积度量
running or cumulative measure
如果对我的问题有任何建议,我将不胜感激:
我有一份包含每日价值的股票清单(所以有几只股票,每只股票每天有一个价值)。
我正在尝试从年初开始计算总投资组合的累计保证金百分比作为衡量标准,因此我每天都会得到结果。
因此,举例来说,如果总投资组合价值一天为 100,第二天为 102,第二天为 104,我希望有一个(对于这 3 天)0、2、4% 的度量。
我有一个计算每天整个投资组合的保证金百分比的度量(我不能有一个列,因为数据不是投资组合而是基于股票):
我想要实现的是:
我试过 =CALCULATE(sum(dailies[marge_daily_percent_measure]); FILTER(all(dailies);INT(dailies[Date (Year)])=[annee]))
(过滤器是获取当前年份数据)但是总和不能应用于度量(他正在寻找列)。
我也尝试了 TOTALYTD,但我遇到了 2 个问题:总和仍然不能应用于该度量,我还需要每天的结果。
感谢任何提示。
我过去建立累积度量的一种方法是执行以下逻辑来过滤日期。假设您在某种时间切片视图(如 table 或折线图)中使用它,这应该只获取每一行的日期 on/before 'todays' 日期。
_Cumulative_ClosedTasks =
CALCULATE (
[_ClosedTasks],
FILTER (
ALL ('Date'[Date]),
'Date'[Date] <= MAX ('Date'[Date])
)
)
([_ClosedTasks]
只是一个基本的 SUM 指标)
这种方法对您的数据有效吗?
假设您的 table 股票价格如下所示
Date
Value
30 December 2021
104
31 December 2021
106
03 January 2022
107
04 January 2022
107
05 January 2022
106
06 January 2022
95
07 January 2022
106
10 January 2022
110
我计算了一个保证金指标,下面是 DAX。并使用 SUMX
.
进行累积测量
DAX:保证金
Margin =
VAR _SelectedDate =
SELECTEDVALUE ( 'Table'[Date] )
VAR _SelectedValue =
SELECTEDVALUE ( 'Table'[Value] )
VAR _PreviousDate =
CALCULATE ( MAX ( 'Table'[Date] ), 'Table'[Date] < _SelectedDate )
VAR _PreviousValue =
CALCULATE ( SUM ( 'Table'[Value] ), 'Table'[Date] = _PreviousDate )
VAR Margin =
DIVIDE ( _SelectedValue - _PreviousValue, _PreviousValue )
RETURN
Margin
DAX:保证金累计
Cumulative Margin =
VAR _SelectedDate =
SELECTEDVALUE ( 'Table'[Date] )
VAR Cumulative =
CALCULATE (
SUMX ( VALUES ( 'Table'[Date] ), [Margin] ),
'Table'[Date] <= _SelectedDate
)
RETURN
Cumulative
请记住,您从 Cumulative Margin
获得的最终百分比值与第一个值与最后一个值的差值不同。在这种情况下,(110-104)/104 = 5.77%
。通过累积,我得到 6.91%
输出
如果对我的问题有任何建议,我将不胜感激: 我有一份包含每日价值的股票清单(所以有几只股票,每只股票每天有一个价值)。 我正在尝试从年初开始计算总投资组合的累计保证金百分比作为衡量标准,因此我每天都会得到结果。
因此,举例来说,如果总投资组合价值一天为 100,第二天为 102,第二天为 104,我希望有一个(对于这 3 天)0、2、4% 的度量。
我有一个计算每天整个投资组合的保证金百分比的度量(我不能有一个列,因为数据不是投资组合而是基于股票):
我想要实现的是:
我试过 =CALCULATE(sum(dailies[marge_daily_percent_measure]); FILTER(all(dailies);INT(dailies[Date (Year)])=[annee]))
(过滤器是获取当前年份数据)但是总和不能应用于度量(他正在寻找列)。
我也尝试了 TOTALYTD,但我遇到了 2 个问题:总和仍然不能应用于该度量,我还需要每天的结果。
感谢任何提示。
我过去建立累积度量的一种方法是执行以下逻辑来过滤日期。假设您在某种时间切片视图(如 table 或折线图)中使用它,这应该只获取每一行的日期 on/before 'todays' 日期。
_Cumulative_ClosedTasks =
CALCULATE (
[_ClosedTasks],
FILTER (
ALL ('Date'[Date]),
'Date'[Date] <= MAX ('Date'[Date])
)
)
([_ClosedTasks]
只是一个基本的 SUM 指标)
这种方法对您的数据有效吗?
假设您的 table 股票价格如下所示
Date | Value |
---|---|
30 December 2021 | 104 |
31 December 2021 | 106 |
03 January 2022 | 107 |
04 January 2022 | 107 |
05 January 2022 | 106 |
06 January 2022 | 95 |
07 January 2022 | 106 |
10 January 2022 | 110 |
我计算了一个保证金指标,下面是 DAX。并使用 SUMX
.
DAX:保证金
Margin =
VAR _SelectedDate =
SELECTEDVALUE ( 'Table'[Date] )
VAR _SelectedValue =
SELECTEDVALUE ( 'Table'[Value] )
VAR _PreviousDate =
CALCULATE ( MAX ( 'Table'[Date] ), 'Table'[Date] < _SelectedDate )
VAR _PreviousValue =
CALCULATE ( SUM ( 'Table'[Value] ), 'Table'[Date] = _PreviousDate )
VAR Margin =
DIVIDE ( _SelectedValue - _PreviousValue, _PreviousValue )
RETURN
Margin
DAX:保证金累计
Cumulative Margin =
VAR _SelectedDate =
SELECTEDVALUE ( 'Table'[Date] )
VAR Cumulative =
CALCULATE (
SUMX ( VALUES ( 'Table'[Date] ), [Margin] ),
'Table'[Date] <= _SelectedDate
)
RETURN
Cumulative
请记住,您从 Cumulative Margin
获得的最终百分比值与第一个值与最后一个值的差值不同。在这种情况下,(110-104)/104 = 5.77%
。通过累积,我得到 6.91%