首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mysql或PowerBI和3个表(数据集),如何将工作日添加到销售日期?

使用Mysql或PowerBI和3个表(数据集),如何将工作日添加到销售日期?
EN

Stack Overflow用户
提问于 2018-11-27 18:55:12
回答 1查看 58关注 0票数 1

我在Mysql服务器和PowerBI中有以下表(其中任何一种解决方案都有效)。

销售表

代码语言:javascript
复制
Date sold | Product | item | address
24-11-2018 | socks | 02 | orlando 
26-11-2018 | socks | 02 | mexico df

日历表

代码语言:javascript
复制
Date | isWeekend | isHoliday | isWorkday
24-11-2018 | 1 |  0 | 0
25-11-2018 | 1 |  1 | 0
26-11-2018 | 0 |  0 | 1
27-11-2018 | 0 |  0 | 1

按地点分列的天数表

代码语言:javascript
复制
address | days to deliver in workdays
orlando |  4

我需要在“销售表”中添加一个新列,其中我得到了“交付日期”,即“销售日期”+“交付日期”之和。现在,我遇到的问题是,我无法/不知道如何才能只增加工作日。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-27 22:48:52

我将过滤Calendar表,添加一个运行/累积工作日列,然后将该days to deliver值匹配到正确的累积行。

代码语言:javascript
复制
Date to Deliver =
VAR Dates = FILTER ( 'Calendar', 'Calendar'[Date] > Sales[Date sold] )
VAR CumDays =
    ADDCOLUMNS (
        Dates,
        "CumWorkdays", CALCULATE (
            SUM ( 'Calendar'[isWorkday] ),
            FILTER ( Dates, 'Calendar'[Date] <= EARLIER ( [Date] ) )
        )
    )
VAR DaysToDeliver =
    LOOKUPVALUE (
        DaysToDeliverByLocation[days to deliver in workdays],
        DaysToDeliverByLocation[address], Sales[address]
    )
RETURN
    MINX ( FILTER ( CumDays, [CumWorkdays] = DaysToDeliver ), [Date] )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53506369

复制
相关文章

相似问题

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