Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Monthly Orders received vs orders delivered

Hi All,

 

I have some data like below. I want to show a monthly comparison of number of Orders received vs orders delivered in a clustered column chart.

IncidentOrder DateDelivery Date
Order19/12/20189/13/2018
Order29/13/2018 
Order39/18/2018 
Order49/19/2018 
Order59/20/2018 
Order69/21/2018 
Order79/24/201810/21/2018
Order810/5/201810/31/2018
Order910/6/201810/11/2018
Order1010/8/201811/12/2018
Order1110/9/201810/11/2018
Order1210/9/201810/11/2018
Order1310/10/201810/11/2018
Order1410/10/201811/6/2018
Order1510/11/201810/11/2018
Order1610/12/201811/4/2018
Order1710/16/201811/14/2018
Order1810/17/201811/4/2018
Order1910/22/201811/4/2018
Order2010/24/201810/25/2018

 

My problem is which date column should i choose to create the month column to show the correct data.

I am looking for something like below which i can then represent in a clustered column chart however. At this moment if i create month from either of the dates then the data will be incorrect. I am already using the date table and using the month column from date table itself. 

 

MonthOrderedDelivered
Sep-1871
Oct-18138
Nov-18 6
Total2015

Please help.

  • Anonymous's avatar
    Anonymous
    6 years ago

    To accomplish this, you'll want to make sure that you have a date dimension table that you can link both columns to. One of them will be inactive because you can only have 1 active relationship between 2 tables, and that's ok.

    You can make use of the USERELATIONSHIP function to use the inactive relationship for the measure to sum the item that's related to that date.

    For example, lets say you connect both dates to the date dimension table and you want the order date to be the active relationship and the Delivery date to be the inactive date. You would then write 2 different measures for Ordered and Delivered.

    Ordered = 
    COUNTX(table, table[Incident])
    
    
    Delivered =
    CALCULATE (
    COUNT( table[Incident]),
    USERELATIONSHIP(calendar[date], table[Delivery Date]))



    Then you can create a table visual with the date from the date dimension table as the axis and the 2 measures you just created as the values.

11 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    To accomplish this, you'll want to make sure that you have a date dimension table that you can link both columns to. One of them will be inactive because you can only have 1 active relationship between 2 tables, and that's ok.

    You can make use of the USERELATIONSHIP function to use the inactive relationship for the measure to sum the item that's related to that date.

    For example, lets say you connect both dates to the date dimension table and you want the order date to be the active relationship and the Delivery date to be the inactive date. You would then write 2 different measures for Ordered and Delivered.

    Ordered = 
    COUNTX(table, table[Incident])
    
    
    Delivered =
    CALCULATE (
    COUNT( table[Incident]),
    USERELATIONSHIP(calendar[date], table[Delivery Date]))



    Then you can create a table visual with the date from the date dimension table as the axis and the 2 measures you just created as the values.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi,

       

      I am already using a date dimention table and using the month column in the visual created from that table itself still however the numbers arent correct. This seems quite tricky however i am sure its quite common scenario too.

      • Anonymous's avatar
        Anonymous
        Not applicable

        Did those DAX measures work? Anonymous 

  • Anonymous's avatar
    Anonymous
    Not applicable

    Create date table which is disconnected with main table.

     

    Order_placed = CALCULATE(COUNT(Test[Order Date]),FILTER(Test,CONTAINS('Calendar table','Calendar table'[Date],Test[Order Date])))
     
    order deliverded = CALCULATE(COUNT(Test[Delivery Date]),FILTER(Test,CONTAINS('Calendar table','Calendar table'[Date],Test[Delivery Date])))
     
    Drag year month from calendar table and above two measures in table visual.
     
    Thanks & regards,
    Pravin Wattamwar
    www.linkedin.com/in/pravin-p-wattamwar

    If I resolve your problem Mark it as a solution and give kudos.
    • Anonymous's avatar
      Anonymous
      Not applicable
      Anonymous, such solutions are way, way, way slower than solutions based on relationships. What you suggest is not recommended. Virtual relationships should be the last resort when there's no other way to achieve what one wants.

      Best
      D
      • Anonymous's avatar
        Anonymous
        Not applicable
        Anonymous,
        Thanks for your input.
        So what's the best solution for such scenarios.

        Thanks
        Pravin