Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Getting a value from unrelated table based on a date span

I've got a table containing a creation date. From an unrelated table I want to get the value from the Release column when the creation date is between the Start date and the Releasedate.

 

Releaseversion

ReleaseReleasedateStart
21:22021-12-062021-04-01
22:12022-02-222021-12-07
22:22022-05-102021-02-23

 

Values

SkapadIDStatus
2021-12-01 07:01:001Avslutad
2022-02-20 16:15:002Avslutad
2022-02-23 09:30:003Pågående

 

So that I end up with

SkapadIDStatusRelease
2021-12-01 07:01:001Avslutad21:1
2022-02-20 16:15:002Avslutad22:1
2022-02-23 09:30:003Pågående22:2

 

I tried added a custom column in the Power Query Editor but at the moment I just keep getting the error message "cannot convert a value of type Table to type List"

 

Table.ToColumns(Table.First(Table.Column(Table.SelectRows(
Table.FromRecords(Table.SelectRows(
#"Releasedatum",
each [Releasedatum] <= [Skapad] &&
), each [Start] >= [Skapad])),[Release])))

 

Any help would be much appreciated!

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi  Anonymous ,

    Here are the steps you can follow:

    1. Create calculated column.

    Release =
    CALCULATE(MIN('Releaseversion'[Release]),FILTER(ALL('Releaseversion'),'Values'[Skapad]>='Releaseversion'[Start]&&'Values'[Skapad]<='Releaseversion'[Releasedate]))

    2. Result:

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  Anonymous ,

    Here are the steps you can follow:

    1. Create calculated column.

    Release =
    CALCULATE(MIN('Releaseversion'[Release]),FILTER(ALL('Releaseversion'),'Values'[Skapad]>='Releaseversion'[Start]&&'Values'[Skapad]<='Releaseversion'[Releasedate]))

    2. Result:

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

    • Anonymous's avatar
      Anonymous
      Not applicable

      Yes, thank you very much, that worked for me!

       

  • You could add a calculated column in DAX, such as

    Release Version =
    var currentDate = Values[Skapad]
    SELECTCOLUMNS(
    TOPN( 1,
    FILTER( ReleaseVersion, ReleaseVersion[Start] <= currentDate && ReleaseVersion[ReleaseDate] >= currentDate ),
    ReleaseVersion[ReleaseDate]
    ),
    "Release", ReleaseVersion[Release]
    )

    You may want to change the <= and >= to < and > depending on your business logic

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks for replying, I couldn't get that solution to work but it worked out according to the solution above!