<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Power BI query to calculate On time delivery for transportation team in DAX Commands and Tips</title>
    <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4386147#M174123</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="916967" data-lia-user-login="ahmad1111" class="lia-mention lia-mention-user"&gt;ahmad1111&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your Power BI DAX query was encountering errors due to the CALENDAR function, particularly when Created On was later than Timestamp, which logically should not happen since Timestamp represents proof of delivery. The calculation also needed to properly exclude weekends for certain priority levels.&lt;/P&gt;
&lt;P&gt;The following revised DAX formula ensures that on-time delivery is calculated correctly:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;OnTimeDelivery = 
VAR Priority = 'Job'[Instructions]
VAR CreatedDate = 'Job'[Created On]
VAR DeliveredDate = 'Job'[Timestamp]
VAR DayPOD = FORMAT(DeliveredDate, "dddd")
VAR IsWeekend = IF(DayPOD = "Friday" || DayPOD = "Saturday", 1, 0)

VAR RawDiff = ABS(DATEDIFF(CreatedDate, DeliveredDate, DAY))

VAR AdjustedDiff =
    IF(
        Priority &amp;lt;= 3, 
        RawDiff - COUNTROWS(
            FILTER(
                ADDCOLUMNS(
                    CALENDAR(CreatedDate, DeliveredDate),
                    "WeekdayNum", WEEKDAY([Date], 2)
                ),
                [WeekdayNum] &amp;gt;= 6
            )
        ),
        RawDiff
    )

RETURN 
IF(
    (Priority &amp;lt;= 3 &amp;amp;&amp;amp; AdjustedDiff &amp;lt;= 5) || 
    (Priority &amp;gt;= 4 &amp;amp;&amp;amp; RawDiff &amp;lt;= 1),
    "OnTime",
    "NotOnTime"
)
&lt;/LI-CODE&gt;
&lt;P&gt;This formula first extracts the priority level, created date, and timestamp for delivery. The absolute difference in days is then calculated, and an adjustment is made for priorities 1 to 3 by excluding Fridays and Saturdays. The OnTime classification is determined based on whether the adjusted difference falls within the required threshold: for priorities 4 and 5, the delivery must be within one day (including weekends), while for priorities 1 to 3, delivery is required within five working days, excluding weekends. This ensures that the calculation correctly accounts for weekends without triggering the CALENDAR function error, preventing issues when new data is added.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;</description>
    <pubDate>Wed, 29 Jan 2025 12:53:33 GMT</pubDate>
    <dc:creator>DataNinja777</dc:creator>
    <dc:date>2025-01-29T12:53:33Z</dc:date>
    <item>
      <title>Power BI query to calculate On time delivery for transportation team</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4386127#M174122</link>
      <description>&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;My Code idea here is i have to calculate the instructions which is priortiy and diff is basically&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;ABS&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;DATEDIFF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Job&lt;/SPAN&gt;&lt;SPAN&gt;[Timestamp]&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;Job&lt;/SPAN&gt;&lt;SPAN&gt;[Created On]&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;DAY&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;also POD day is&amp;nbsp;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;FORMAT&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Job'&lt;/SPAN&gt;&lt;SPAN&gt;[Timestamp]&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"dddd"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;so what i need is to look for the priority if its 4 and 5 those should deliver in 1 day and that is in weekend is allowed our weekend here is friday and saturday also if its 1 to 3 priority then its only allowed during weekdays sunday to thursday&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Created on is basically a column that have my order date and timestamp is my event proof of delivery date listed as well my excel sheet to see my source raw data will be changed when giving the end users and they will keep having new raws added daily so my issue now is if i have my dates created on close to todays date or equal to today date and i increase as well event date timestamp to make it bigger than created on date i get error saying calendar function created on cannot be later than timestamp end date although even if i have both same date like 28/01/2025 it still give the error biggest date i was able to list was 22/01/2025 if i put bigger than that date i get the error (((NOTE I ALWAYS HAVE TIMESTAMP BIGGER LOGICALLY SHOULD BE WORKING)))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;calcotd =&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;Priority&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;'Job'&lt;/SPAN&gt;&lt;SPAN&gt;[Instructions]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;Diff&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;'Job'&lt;/SPAN&gt;&lt;SPAN&gt;[Diff1]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;DayPOD&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;'Job'&lt;/SPAN&gt;&lt;SPAN&gt;[PODDay]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;IsWeekend&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;IF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;DayPOD&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"Friday"&lt;/SPAN&gt;&lt;SPAN&gt; || &lt;/SPAN&gt;&lt;SPAN&gt;DayPOD&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"Saturday"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;VAR&lt;/SPAN&gt; &lt;SPAN&gt;AdjustedDiff&lt;/SPAN&gt;&lt;SPAN&gt; =&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;IF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Priority&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt;= &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Diff&lt;/SPAN&gt;&lt;SPAN&gt; - &lt;/SPAN&gt;&lt;SPAN&gt;COUNTROWS&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;FILTER&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CALENDAR&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Job'&lt;/SPAN&gt;&lt;SPAN&gt;[Created On]&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;'Job'&lt;/SPAN&gt;&lt;SPAN&gt;[Timestamp]&lt;/SPAN&gt;&lt;SPAN&gt;),&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;WEEKDAY&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;[Date]&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;) &amp;gt; &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;),&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Diff&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RETURN&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;IF&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Priority&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt;= &lt;/SPAN&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;SPAN&gt; &amp;amp;&amp;amp; &lt;/SPAN&gt;&lt;SPAN&gt;AdjustedDiff&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt;= &lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt; &amp;amp;&amp;amp; &lt;/SPAN&gt;&lt;SPAN&gt;'Job'&lt;/SPAN&gt;&lt;SPAN&gt;[Late/Not]&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"NotLate"&lt;/SPAN&gt;&lt;SPAN&gt;) ||&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;Priority&lt;/SPAN&gt;&lt;SPAN&gt; &amp;gt;= &lt;/SPAN&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;SPAN&gt; &amp;amp;&amp;amp; &lt;/SPAN&gt;&lt;SPAN&gt;Diff&lt;/SPAN&gt;&lt;SPAN&gt; &amp;lt;= &lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt; &amp;amp;&amp;amp; &lt;/SPAN&gt;&lt;SPAN&gt;'Job'&lt;/SPAN&gt;&lt;SPAN&gt;[Late/Not]&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;"NotLate"&lt;/SPAN&gt;&lt;SPAN&gt;),&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;"OnTime"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;"NotOnTime"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Created On&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;01/22/25&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Timestamp&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/22/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1/27/2025&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Jan 2025 12:46:53 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4386127#M174122</guid>
      <dc:creator>ahmad1111</dc:creator>
      <dc:date>2025-01-29T12:46:53Z</dc:date>
    </item>
    <item>
      <title>Re: Power BI query to calculate On time delivery for transportation team</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4386147#M174123</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="916967" data-lia-user-login="ahmad1111" class="lia-mention lia-mention-user"&gt;ahmad1111&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your Power BI DAX query was encountering errors due to the CALENDAR function, particularly when Created On was later than Timestamp, which logically should not happen since Timestamp represents proof of delivery. The calculation also needed to properly exclude weekends for certain priority levels.&lt;/P&gt;
&lt;P&gt;The following revised DAX formula ensures that on-time delivery is calculated correctly:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;OnTimeDelivery = 
VAR Priority = 'Job'[Instructions]
VAR CreatedDate = 'Job'[Created On]
VAR DeliveredDate = 'Job'[Timestamp]
VAR DayPOD = FORMAT(DeliveredDate, "dddd")
VAR IsWeekend = IF(DayPOD = "Friday" || DayPOD = "Saturday", 1, 0)

VAR RawDiff = ABS(DATEDIFF(CreatedDate, DeliveredDate, DAY))

VAR AdjustedDiff =
    IF(
        Priority &amp;lt;= 3, 
        RawDiff - COUNTROWS(
            FILTER(
                ADDCOLUMNS(
                    CALENDAR(CreatedDate, DeliveredDate),
                    "WeekdayNum", WEEKDAY([Date], 2)
                ),
                [WeekdayNum] &amp;gt;= 6
            )
        ),
        RawDiff
    )

RETURN 
IF(
    (Priority &amp;lt;= 3 &amp;amp;&amp;amp; AdjustedDiff &amp;lt;= 5) || 
    (Priority &amp;gt;= 4 &amp;amp;&amp;amp; RawDiff &amp;lt;= 1),
    "OnTime",
    "NotOnTime"
)
&lt;/LI-CODE&gt;
&lt;P&gt;This formula first extracts the priority level, created date, and timestamp for delivery. The absolute difference in days is then calculated, and an adjustment is made for priorities 1 to 3 by excluding Fridays and Saturdays. The OnTime classification is determined based on whether the adjusted difference falls within the required threshold: for priorities 4 and 5, the delivery must be within one day (including weekends), while for priorities 1 to 3, delivery is required within five working days, excluding weekends. This ensures that the calculation correctly accounts for weekends without triggering the CALENDAR function error, preventing issues when new data is added.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2025 12:53:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4386147#M174123</guid>
      <dc:creator>DataNinja777</dc:creator>
      <dc:date>2025-01-29T12:53:33Z</dc:date>
    </item>
    <item>
      <title>Re: Power BI query to calculate On time delivery for transportation team</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4387314#M174160</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi data ninja thanks for the reply ill try it now at office but see the weird part for me is i put lets say todays date 30/01/2025 for both created on and timestamp delivery date it wont accept it and that error rise up again saying created on is bigger than timestamp end date so i am confused why cant i use todays date&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2025 05:00:02 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4387314#M174160</guid>
      <dc:creator>ahmad1111</dc:creator>
      <dc:date>2025-01-30T05:00:02Z</dc:date>
    </item>
    <item>
      <title>Re: Power BI query to calculate On time delivery for transportation team</title>
      <link>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4387323#M174161</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="916967" data-lia-user-login="ahmad1111" class="lia-mention lia-mention-user"&gt;ahmad1111&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-pm-slice="0 0 []"&gt;The issue you're facing stems from the logical relationship between the Created On and Timestamp fields. The ABS(DATEDIFF()) function is intended to calculate the difference between these dates, but you’re getting an error when Created On is later than Timestamp, even if the dates are the same. This could be a data quality issue that violates the assumption that Timestamp should always be later. A potential fix involves ensuring that Created On is not later than Timestamp, using ABS to avoid negative values. Additionally, simplifying the weekend logic ensures that you're correctly handling different priorities, where priority 4 and 5 deliveries allow weekends, while priorities 1-3 restrict delivery to weekdays. Finally, adjusting the difference calculation based on the priority ensures that the final measure works as expected, marking "OnTime" or "NotOnTime" without errors. Proper validation of your data and logic is key to resolving this.&lt;/P&gt;
&lt;P data-pm-slice="0 0 []"&gt;Updated Measure:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;calcotd =
VAR Priority = 'Job'[Instructions]
VAR Diff = ABS(DATEDIFF('Job'[Created On], 'Job'[Timestamp], DAY))
VAR DayPOD = 'Job'[PODDay]
VAR IsWeekend = IF(DayPOD = "Friday" || DayPOD = "Saturday", 1, 0)
VAR AdjustedDiff =
    IF(
        Priority &amp;lt;= 3,
        Diff - COUNTROWS(
            FILTER(
                CALENDAR('Job'[Created On], 'Job'[Timestamp]),
                WEEKDAY([Date], 2) &amp;gt; 5
            )
        ),
        Diff
    )
RETURN
    IF(
        (Priority &amp;lt;= 3 &amp;amp;&amp;amp; AdjustedDiff &amp;lt;= 5 &amp;amp;&amp;amp; 'Job'[Late/Not] = "NotLate") ||
        (Priority &amp;gt;= 4 &amp;amp;&amp;amp; Diff &amp;lt;= 1 &amp;amp;&amp;amp; 'Job'[Late/Not] = "NotLate"),
        "OnTime",
        "NotOnTime"
    )
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2025 05:07:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/Power-BI-query-to-calculate-On-time-delivery-for-transportation/m-p/4387323#M174161</guid>
      <dc:creator>Poojara_D12</dc:creator>
      <dc:date>2025-01-30T05:07:33Z</dc:date>
    </item>
  </channel>
</rss>

