Powerbi 计数为真';这是适度的
我有一段代码,用来检查我们制造的哪些机器目前处于活动状态。活动机器的当前标准是,它至少每周生产25个小部件,连续四周生产。用DAX写这篇文章并不难,但我们对定义不满意。当前的问题是,如果一台机器的工作停止一周,那么该机器现在将被视为不活动,即使它只有一周<25个窗口小部件。我们现在要做的是将过去四周的定义更改为3/4周。这样,机器在一个缓慢的星期内不会被标记为不活动 这比我想象的要难。我最初的想法是让VAR计数器=0,如果计数器为3或更高,则每周只计算每个TRUE,机器处于活动状态。问题是我就是不知道如何在DAX中使用VAR,我就是不明白Powerbi 计数为真';这是适度的,powerbi,dax,Powerbi,Dax,我有一段代码,用来检查我们制造的哪些机器目前处于活动状态。活动机器的当前标准是,它至少每周生产25个小部件,连续四周生产。用DAX写这篇文章并不难,但我们对定义不满意。当前的问题是,如果一台机器的工作停止一周,那么该机器现在将被视为不活动,即使它只有一周
ActiveMachines = IF(
(CALCULATE(SUM('Query1'[TrayProduced Hourly]),
DATESINPERIOD('Query1'[TrayProducedDay].[Date]
,CALCULATE(MAX('Query1'[TrayProducedDay].[Date]), FILTER(ALL('Query1'), 'Query1'[TrayProduced Hourly]))
,-7
,DAY)
) > 25 &&
CALCULATE(SUM('Query1'[TrayProduced Hourly]),
DATESINPERIOD('Query1'[TrayProducedDay].[Date]
,(CALCULATE(MAX('Query1'[TrayProducedDay].[Date]), FILTER(ALL('Query1'), 'Query1'[TrayProduced Hourly])) - 7)
,-7
,DAY)
) > 25 &&
CALCULATE(SUM('Query1'[TrayProduced Hourly]),
DATESINPERIOD('Query1'[TrayProducedDay].[Date]
,(CALCULATE(MAX('Query1'[TrayProducedDay].[Date]), FILTER(ALL('Query1'), 'Query1'[TrayProduced Hourly])) - 14)
,-7
,DAY)
) > 25 &&
CALCULATE(SUM('Query1'[TrayProduced Hourly]),
DATESINPERIOD('Query1'[TrayProducedDay].[Date]
,(CALCULATE(MAX('Query1'[TrayProducedDay].[Date]), FILTER(ALL('Query1'), 'Query1'[TrayProduced Hourly])) - 21)
,-7
,DAY)
) > 25), TRUE, FALSE)
上面的代码目前可以工作,现在我需要添加什么(或者删除什么,或者其他什么)才能让我的想法在这里工作?如果有任何帮助,我们将不胜感激:)我也在PowerBi论坛上问过,在那里我得到了这个答案:
ActiveMachines = IF(
(IF(CALCULATE(SUM('MetricsQuery'[TrayProduced Hourly]),
DATESINPERIOD('MetricsQuery'[TrayProducedDate].[Date]
,CALCULATE(MAX('MetricsQuery'[TrayProducedDate].[Date]), FILTER('MetricsQuery', 'MetricsQuery'[TrayProduced Hourly]))
,-7
,DAY)
), 1) +
IF(CALCULATE(SUM('MetricsQuery'[TrayProduced Hourly]),
DATESINPERIOD('MetricsQuery'[TrayProducedDate].[Date]
,(CALCULATE(MAX('MetricsQuery'[TrayProducedDate].[Date]), FILTER('MetricsQuery', 'MetricsQuery'[TrayProduced Hourly])) - 7)
,-7
,DAY)
), 1) +
IF(CALCULATE(SUM('MetricsQuery'[TrayProduced Hourly]),
DATESINPERIOD('MetricsQuery'[TrayProducedDate].[Date]
,(CALCULATE(MAX('MetricsQuery'[TrayProducedDate].[Date]), FILTER('MetricsQuery', 'MetricsQuery'[TrayProduced Hourly])) - 14)
,-7
,DAY)
), 1) +
IF(CALCULATE(SUM('MetricsQuery'[TrayProduced Hourly]),
DATESINPERIOD('MetricsQuery'[TrayProducedDate].[Date]
,(CALCULATE(MAX('MetricsQuery'[TrayProducedDate].[Date]), FILTER('MetricsQuery', 'MetricsQuery'[TrayProduced Hourly])) - 21)
,-7
,DAY)
), 1)
>= 3), TRUE, FALSE)