首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DAX获取每天最新一小时的计数

使用DAX获取每天最新一小时的计数
EN

Stack Overflow用户
提问于 2022-09-01 13:00:05
回答 2查看 47关注 0票数 0

我在Power中有一个原始数据表,在那里我试图计算每天最后一个小时执行的作业数量,最好是使用DAX。

可以使用DAX在DAX中构建表的表示形式(实际表是从Power Query中的各种CSV文件生成的):

代码语言:javascript
复制
Raw Data = { 
( "A", "42784", DATE( 2022, 8, 31 ), 5 ), 
( "A", "91783", DATE( 2022, 8, 31 ), 5 ), 
( "A", "19845", DATE( 2022, 8, 31 ), 6 ), 
( "A", "76165", DATE( 2022, 8, 31 ), 6 ), 
( "A", "28253", DATE( 2022, 8, 31 ), 7 ), 
( "A", "83294", DATE( 2022, 8, 31 ), 8 ), 
( "A", "47431", DATE( 2022, 8, 31 ), 9 ), 
( "A", "20025", DATE( 2022, 8, 31 ), 10 ), 
( "A", "10564", DATE( 2022, 8, 31 ), 10 ), 
( "A", "65463", DATE( 2022, 8, 31 ), 10 ), 
( "B", "44750", DATE( 2022, 9, 1 ), 5 ), 
( "B", "47302", DATE( 2022, 9, 1 ), 6 ), 
( "B", "31759", DATE( 2022, 9, 1 ), 6 ), 
( "B", "26638", DATE( 2022, 9, 1 ), 7 ), 
( "B", "55076", DATE( 2022, 9, 1 ), 7 ), 
( "B", "59205", DATE( 2022, 9, 1 ), 8 ), 
( "B", "52319", DATE( 2022, 9, 1 ), 8 )
 }  

然后,我在DAX中构建了第二个表,它给出了唯一的日期值(实际的表从日期表复制日期列--它本身来自原始数据)。

代码语言:javascript
复制
Dimension = CALENDAR(FIRSTDATE('Raw Data'[Value3]), LASTDATE('Raw Data'[Value3]))  

当我添加一列尝试计算每天在最后一个小时内处理了多少项时,就会出现问题。

项通过计数Value 2列来计数。一天中的小时显示在Value 4列中。

8月31日10点3件,9月1日8点2件。

我为此使用的DAX是:

代码语言:javascript
复制
LatestUnitsProcessed = 
CALCULATE (
    DISTINCTCOUNT ( 'Raw Data'[Value2] ),
    FILTER (
        FILTER ( 'Raw Data', 'Raw Data'[Value3] = 'Dimension'[Date] ),
        'Raw Data'[Value4] = MAX('Raw Data'[Value4])
    )
)  

这将正确地返回8月31日的3,但留下9月1日的空白。可以肯定的是,这是因为MAX('Raw Data'[Value4])忽略了日期,并试图查看在1号10点处理了多少数据。

我将如何包括数据标准来做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-01 14:01:16

这创建了一种虚拟关系。

代码语言:javascript
复制
LatestUnitsProcessed = 

VAR last = CALCULATE(MAX('Raw Data'[Value4]), TREATAS({'Dimension'[Date]} ,'Raw Data'[Value3]))
RETURN 
CALCULATE (
    DISTINCTCOUNT ( 'Raw Data'[Value2] ),
    TREATAS({'Dimension'[Date]} ,'Raw Data'[Value3]),
    'Raw Data'[Value4] = last
)  
票数 0
EN

Stack Overflow用户

发布于 2022-09-01 13:53:03

试着用关系(维->Value3).

代码语言:javascript
复制
LatestUnitsProcessed =
VAR _max =
    MAX ( 'Raw Data'[Value4] )
RETURN
    CALCULATE (
        DISTINCTCOUNT ( 'Raw Data'[Value2] ),
        ALLEXCEPT ( 'Raw Data', 'Raw Data'[Value3] ),
        'Raw Data'[Value4] = _max
    )

样本文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73569772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档