I have the following situation:
Data is stored in SQL Server database, with a "date" column of DateTime type. I'm inserting the results of a Canvas App date picker here, the values in the db look like this: 2020-12-04 00:00:00.0000000, all with zero hours/minutes/seconds. All these date values are correct. This data is presented in a Power BI report, and since only the date is relevant, time is not, I'm using a "Date" type here, not "Date/Time". Then I need to process the data filtered in the BI report in another integrated Canvas app, I'm using the PowerBIIntegration.Data as a data source. The date values shown in this one appear to be set back to one day earlier than the value from the db or the BI report. If I use the SQL Server db as data source in the same Canvas app, the dates are shown correctly (I moved to PowerBIIntegration.Data data source to overcome the delegation limit).
I figured out that PowerBIIntegration.Data's date field most probably already doesn't contain any time information, only date, since displaying the date without formatting is "12/3/2020" (for the same db value as above), while displaying the date field coming from the SQL Server db shows "12/4/2020 12:00 AM". This makes me think that there is an unlucky combination of truncating date/time to date and time zone conversion is done where PowerBIIntegration.Data is generated, and a few hours difference necessarily changes the date. I'm wondering if there is any point where the user (or call me developer :)) can intervene in this conversion process.
Has anybody had a similar issue and got it solved in a better way than just manually adjusting the shown dates? Please be kind to share your thoughts here.
Is it Power BI Pro or Power BI Premium?
How often is that dataset being refreshed automatically right now?
Try going to the dataset in app.powerbi.com in the workspace it is in, hovering over it with the mouse, and then clicking the refresh icon. After that does the issue still persist? Because it could be that the dataset is using that value from when it was last updated. Even if the time is not relevant, if the date you are referring to is being updated based on the current date, maybe the Power BI dataset was last refreshed at a time that was on the previous date is why you experience this.
Thank you for the suggestion. The datasets get updated smoothly as I would expect, just the dates shown are set back one day when I use PowerBIIntegration.Data as data source in the Canvas App. If I use the SQL Server db directly, then all the dates are shown correctly. I wanted to overcome the delegation limit by using PowerBIIntegration.Data as data source, which works nicely, except this problem.
I'll go back now and edit the original post to make it clearer.
If it is just a date column passed in to embedded canvas app by PowerBIIntegration.Data, it should just simply show the same date as in the Power BI report without any change to it. In what way is the date used in the embedded canvas app specifically? Perhaps something over there is changing it. Also as troubleshooting steps try converting it to Text and back to a Date, etc. in the Canvas App by using Text and DateValue
We are not sure why you face this issue. You stated this:
makes me think that there is an unlucky combination of truncating date/time to date and time zone conversion is done where PowerBIIntegration.Data is generated, and a few hours difference necessarily lead to another day
however even this part would have nothing to do with the issue if the date and time is not even relevant to the current date and time. Is there somewhere in the Canvas App or Power BI Report that is calculating from the current date? If so, then maybe, but you only stated it is a column not relative to anything. So then it would be pretty odd that it would set a date back one day when it is not even a relative thing.
So other than the above, we are unsure how to advise you here. If we come up with other idea later we may come back here and let you know. If someone else on this forum knows what could be causing this kind of issue, feel free to chime in please.
Only other idea we have for now if nothing else works, is try troubleshooting with a different value without all zeroes e.g.
Try also troubleshooting by checking the UTC Time and using a time equal to or greater than that in hours either behind or ahead depending on your case and testing that as the database value(s). Despite there being no relative time at issue here, you might be on to something anyway and it is better to check it in case.
Thank you, dynamicsedge, for your devotion.
I have checked what happens if I add a general (non-zero hours, minutes) date/time value the db. Already in the report it loses the time info. If I display it as date/time in the BI report, I get correct date with 00:00:00. All date formatting in the Canvas app display works normal, just the date has the wrong value. If the db has a first day of a month, then in the Canvas app I get the last day of the previous.
I don't (need to) do any manipulation with the date values, only to show them to the user.
I also tried to set the time zone in my computer's locale to the opposite side. My standard time zone is UTC+2h, so I tried UTC-8h. In this case the date is shown correctly everywhere.
The only sensible thought I have around this is that in the BI report where the date (that is truncated to not having time info anymore) undergoes a time zone conversion, i.e. get converted to date/time with 0h 0min 0sec, then this new date/time value gets converted to let's say UTC, where 2020-12-04 00:00:00 becomes 2020-12-03 22:00:00 and then this value gets truncated to the wrong date value, losing all hour/min/sec/etc information. When the time zone adjustment is done to the opposite side (adding +8h in my test case), then cutting off the hours/etc doesn't affect the date. I'm tempted to say it is a bug, however it is rather strange that nobody else seems to have encountered it so far.
In the meantime I found another way to get around the delegation limit, so this issue is not burning me anymore, however I'm still interested what is behind it and/or how to resolve.
also have this issue - can see that there is a timestamp coming with the date when i use POWERBI intergration with powerapps.
the date goes from end of month (e.g. 30 June to 29 June).
Learn how to create your own user groups today!
Check out the new Power Platform Community Connections gallery!
Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.