Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi Power BI-为日期1、日期2、日期n添加列/筛选器,其中n是两个日期之间的天数_Powerbi - Fatal编程技术网

Powerbi Power BI-为日期1、日期2、日期n添加列/筛选器,其中n是两个日期之间的天数

Powerbi Power BI-为日期1、日期2、日期n添加列/筛选器,其中n是两个日期之间的天数,powerbi,Powerbi,为了解释我的问题,请看下面我的模式摘录 ID STATE START_DATE_PACK END_DATE_PACK PACK CLOSE DATE 10539395 O 10/10/2019 20/10/2019 A1 10564163 O 10/10/2019 20/10/2019 A1 10564181 O 10/10/2019 20/10/201

为了解释我的问题,请看下面我的模式摘录

ID          STATE   START_DATE_PACK END_DATE_PACK   PACK    CLOSE DATE
10539395    O       10/10/2019      20/10/2019      A1  
10564163    O       10/10/2019      20/10/2019      A1  
10564181    O       10/10/2019      20/10/2019      A1  
10564574    C       10/10/2019      20/10/2019      A1      12/10/2019
10564578    C       10/10/2019      20/10/2019      A1      12/10/2019
10564580    C       10/10/2019      20/10/2019      A1      13/10/2019
10565048    C       10/10/2019      20/10/2019      A1      14/10/2019
10565069    C       10/10/2019      20/10/2019      A1      15/10/2019
我想要的是显示每天进度(开始日期和结束日期之间)的图表

在excel中,它可能是简单的堆叠图表,但在Power BI中,我很难做到这一点。注:我有数百个包,因此需要一些动态的方式来包装

10月16日更新 这是我的桌子

ID          STATE   START_DATE_PACK END_DATE_PACK   PACK    CLOSE DATE  Column  NEW.DAYS_ON_CHECK_COUNT Column 2
10539395    O       10/10/2019       20/10/2019     A1                  Open    DAY                     8
10564163    O       10/10/2019       20/10/2019     A1                  Open    DAY                     8
10564181    O       10/10/2019       20/10/2019     A1                  Open    DAY                     8
10564574    C       10/10/2019       20/10/2019     A1     12/10/2019   Closed  DAY 2                   8
10564578    C       10/10/2019       20/10/2019     A1     12/10/2019   Closed  DAY 2                   8
10564580    C       10/10/2019       20/10/2019     A1     13/10/2019   Closed  DAY 3                   8
10565048    C       10/10/2019       20/10/2019     A1     14/10/2019   Closed  DAY 4                   8
10565069    C       10/10/2019       20/10/2019     A1     15/10/2019   Closed  DAY 5                   8
其中:

Column = IF(ISBLANK(Sheet1[CLOSE DATE]), "Open", "Close")

NEW.DAYS_ON_CHECK_COUNT = 
  VAR _days = DATEDIFF(Sheet1[START_DATE_PACK],Sheet1[CLOSE DATE], DAY)
RETURN "DAY " & _days

Column 2 = COUNTROWS(Sheet1)
我的图表快到了


仍然不能作为每天所有和关闭的比率工作。有什么想法吗?

从您的数据中,您需要添加一列可以用作图例

如果这是直接从表中获取的模式,则可以在Power Query或Dax中执行

在Power Query中添加自定义列

if [Close Date] = "" Then "Open" else "Close"
在DAX中,您还可以使用逻辑添加自定义列

Column = IF(ISBLANK('tablename'[Close Date]), "Open", Close")
然后,您可以将其拖动为图例,将“开始日期”作为值,并将其聚合为count,或者使用count('tablename'[StartDate])创建一个新的度量值,该度量值也应该这样做

希望有帮助

更新: 您的示例显示了正确的分割,我认为您需要将未结项分配到天数

NEW.DAYS_ON_CHECK_COUNT =
  VAR dateCheck = IF(ISBLANK('Sheet1'[CLOSE DATE]), TODAY(), 'Sheet1'[CLOSE DATE])
  VAR _days = DATEDIFF(Sheet1[START_DATE_PACK],dateCheck  , DAY)
RETURN "DAY " & _days

这应该将打开的项目设置为从开始日期到今天的打开天数,因此这些项目应显示为“第6天”,如果不关闭,明天将显示为“第7天”。

您是否尝试过使用另一种可视化“100%堆叠柱形图”? 这将有100%的图表选项,如您的打开和关闭

希望这就是你想要的。让我知道你怎么样了


我首先创建一个Days表,包含两列:

日期标签如第1天、第2天

日期差异例如0、1、

实现图表示例可能需要10行—您可能需要为其他场景创建额外的行。最简单的方法是使用Enter Data,可能还有更优雅的选择

在模型(图表)视图中,表应与其他表保持断开连接。我会将天数标签的排序列设置为天数列

接下来,我将创建一个新的状态表,在状态列中显示打开和关闭的值。同样,此表在模型中保持断开连接

我要创建的最后一个断开连接的表是日期,例如使用CALENDARAUTO功能

接下来,我将创建一个度量来计算每个断开连接的表行组合的相关行,例如

Daily Count = 
VAR vStart_Date =
    MIN ( Dates[Date] )
VAR vEnd_Date =
    MAX ( Dates[Date] )
RETURN
    SUMX (
        CROSSJOIN ( Sheet1, Days, Dates, Statuses ),
        SWITCH (
            TRUE,
            [Date] < vStart_Date, BLANK (),
            [Date] > vEnd_Date, BLANK (),
            [Date] < [START_DATE_PACK], BLANK (),
            [Date] > [END_DATE_PACK], BLANK (),
            DATEDIFF ( vStart_Date, [Date], DAY ) <> [Day Datediff], BLANK (),
            [Status] = "Open" 
                && [STATE] = "C" && [Date] > [CLOSE DATE] , BLANK (),
            [Status] = "Closed" 
                && [STATE] = "O", BLANK (),
            [Status] = "Closed" 
                && [Date] <= [CLOSE DATE] , BLANK (),
            1
        )
    ) 
每日计数=
VAR vStart_日期=
最小值(日期[日期])
VAR卖方日期=
最大值(日期[日期])
返回
萨姆克斯(
交叉连接(表1、日期、状态),
开关(
是的,
[日期]供应商日期,空白(),
[日期]<[开始日期包],空白(),
[日期]>[结束日期包],空白(),
DATEDIFF(vStart_Date,[Date],DAY)[DAY DATEDIFF],空白(),
[状态]=“打开”
&&[STATE]=“C”&&[Date]>[CLOSE Date],空白(),
[状态]=“已关闭”
&&[状态]=“O”,空白(),
[状态]=“已关闭”

&&[日期]我已经更新了我的答案,请检查并接受它是否是正确的结果@Jonee,但它显示的是相同的。仍然缺少总值。图表应该总是有8个,并在未清项中看到递减。@Jonee就在那里。我想我需要另一个计数,即计数打开+计数唯一关闭日期?每天的进度是累积的吗其他几天的总数?或者每天完成多少?