How to troubleshoot chart brushing?
Completed
I tried following the directions in this video (which are not thorough at all): https://www.youtube.com/watch?v=koFm2Rv0rnw but when I try to implement chart brushing on my dashboard I get the message following error:
Is there a way to get more information? Telling the user the filter data is invalid but not telling them what data was provided or what was wrong with it leaves the user with no way to correct the problem. Below is a screenshot of my Analytic Setup:
The field that I am trying to brush on is a calculated field. Could that be what is causing the problem? Again, Yellowfin provides no information with which the user can try to fix this. It just leaves us frustrated and guessing.
Hi Stephen,
Thank you for reaching out. I'm wondering whether your Passenger Events by Time report is using Timestamp data while your Events by Day report may be using Date data or simply a text Dimension. This could plausibly cause this issue. Due to the many variations of data possible it's difficult to give highly specific error messages. This one is actually relatively helpful, as it at least tells you where you where to look. The logs could provide some more information here, but of course this is hard to say without better knowing your data.
Probably the best way to test this is by creating the same Day of Week calculated field in the corresponding report, does the filtering work properly?
As a side note, you can also find some more information on chart brushing in our Wiki article on Chart Brushing as well. This Wiki entry features a video called "How to use brushing to filter data in a chart" and lists Limitations and Incompatible charts, which you may find helpful.
Regards,
Mike
Hi Stephen,
Thank you for reaching out. I'm wondering whether your Passenger Events by Time report is using Timestamp data while your Events by Day report may be using Date data or simply a text Dimension. This could plausibly cause this issue. Due to the many variations of data possible it's difficult to give highly specific error messages. This one is actually relatively helpful, as it at least tells you where you where to look. The logs could provide some more information here, but of course this is hard to say without better knowing your data.
Probably the best way to test this is by creating the same Day of Week calculated field in the corresponding report, does the filtering work properly?
As a side note, you can also find some more information on chart brushing in our Wiki article on Chart Brushing as well. This Wiki entry features a video called "How to use brushing to filter data in a chart" and lists Limitations and Incompatible charts, which you may find helpful.
Regards,
Mike
Hi Mike,
I don't understand what you're asking. Both reports are built from the same view. Each record in that view is tagged with a time bucket and a day of week. The former is an integer being formatted as a time of day and the second is an integer being formatted as a date hierarchy part. The only difference between the two reports is that one is aggregating by time bucket and the other is aggregating by day of the week. They each have a filter setup on the metric the other is aggregating on. When I brush on one of the charts, I expect it to simply populate the filter of the other.
I've done some more testing and this is what I've found. The time bucket 5:30am is represented in the data as the integer 19,800 (seconds since midnight). If I go to either report and enter 19,800 in the time bucket filter, the data is filtered correctly. But if I brush the "05:30:00" time bucket on the graph and look at the filter value that gets sent to the events by day chart (by clicking the full screen button), I can see that the filter value being used is 53,000 (when it should be 19,800).
This suggests that Yellowfin is not tracking data conversion correctly. It is using one method to convert the seconds since midnight data to the hours:minutes:seconds format for the chart axis, but when passing the data back to the filter it is not using the correct reverse conversion. Instead it's taking hours:minutes:seconds, stripping out the colons, and casting that string as an integer.
Is there a way to fix this? Or is Yellowfin unable to implement chart brushing for any field with formatting applied?
Hi Mike,
I don't understand what you're asking. Both reports are built from the same view. Each record in that view is tagged with a time bucket and a day of week. The former is an integer being formatted as a time of day and the second is an integer being formatted as a date hierarchy part. The only difference between the two reports is that one is aggregating by time bucket and the other is aggregating by day of the week. They each have a filter setup on the metric the other is aggregating on. When I brush on one of the charts, I expect it to simply populate the filter of the other.
I've done some more testing and this is what I've found. The time bucket 5:30am is represented in the data as the integer 19,800 (seconds since midnight). If I go to either report and enter 19,800 in the time bucket filter, the data is filtered correctly. But if I brush the "05:30:00" time bucket on the graph and look at the filter value that gets sent to the events by day chart (by clicking the full screen button), I can see that the filter value being used is 53,000 (when it should be 19,800).
This suggests that Yellowfin is not tracking data conversion correctly. It is using one method to convert the seconds since midnight data to the hours:minutes:seconds format for the chart axis, but when passing the data back to the filter it is not using the correct reverse conversion. Instead it's taking hours:minutes:seconds, stripping out the colons, and casting that string as an integer.
Is there a way to fix this? Or is Yellowfin unable to implement chart brushing for any field with formatting applied?
Hi Stephen,
It seems the only option I have here is to attempt to replicate this on my end, as there's really no way to say what's going on without having some data to approximate your setup here. In order to do this I'm going to require more detailed replication steps with corresponding screenshots, so I can get a better sense of how your reports, filters, and dashboard is setup so I can match them as close as possible, so if you could provide this info that'd be great.
Can you also please send where you are seeing the data in seconds? Is this in the SQL? Regardless of this, can you also please send the SQL statements being generated on the reports that are being filtered? This should provide insight into what is actually being queried when you Keep or Exclude results via brushing.
I think the logs could also be helpful here. Please replicate the issue where you're seeing "Invalid Filter Data" then compress and attach your entire logs folder located at <YellowfinInstall>/appserver/logs to your response here.
Thanks,
Mike
Hi Stephen,
It seems the only option I have here is to attempt to replicate this on my end, as there's really no way to say what's going on without having some data to approximate your setup here. In order to do this I'm going to require more detailed replication steps with corresponding screenshots, so I can get a better sense of how your reports, filters, and dashboard is setup so I can match them as close as possible, so if you could provide this info that'd be great.
Can you also please send where you are seeing the data in seconds? Is this in the SQL? Regardless of this, can you also please send the SQL statements being generated on the reports that are being filtered? This should provide insight into what is actually being queried when you Keep or Exclude results via brushing.
I think the logs could also be helpful here. Please replicate the issue where you're seeing "Invalid Filter Data" then compress and attach your entire logs folder located at <YellowfinInstall>/appserver/logs to your response here.
Thanks,
Mike
Hi Stephen,
I was able to replicate this issue and have raised a defect for this, for which I'll post any related updates here. That said, this setup does not seem ideal for what you're trying to accomplish. Formatting an integer into a Timestamp is bound to cause unexpected behavior. While this may technically be defective behavior, the overall setup and formatting here is not recommended and if the Time data was actually a Timestamp you'd likely not be encountering this error. I was informed by your account manager you have a call with consulting later today. They are going to discuss this ticket with you further then.
On the note of the Numeric Display chart, I'm posting further information in the corresponding ticket (8345) to keep better track of the issue.
Also as mentioned on our call, this is the link to download latest versions & builds: https://portal.yellowfinbi.com/yf_latestbuild.jsp
And finally, I've created an Idea ticket linked to your name to add the ability to execute upgrades through the Admin Console, which you can reference here for potential future updates.
Regards,
Mike
Hi Stephen,
I was able to replicate this issue and have raised a defect for this, for which I'll post any related updates here. That said, this setup does not seem ideal for what you're trying to accomplish. Formatting an integer into a Timestamp is bound to cause unexpected behavior. While this may technically be defective behavior, the overall setup and formatting here is not recommended and if the Time data was actually a Timestamp you'd likely not be encountering this error. I was informed by your account manager you have a call with consulting later today. They are going to discuss this ticket with you further then.
On the note of the Numeric Display chart, I'm posting further information in the corresponding ticket (8345) to keep better track of the issue.
Also as mentioned on our call, this is the link to download latest versions & builds: https://portal.yellowfinbi.com/yf_latestbuild.jsp
And finally, I've created an Idea ticket linked to your name to add the ability to execute upgrades through the Admin Console, which you can reference here for potential future updates.
Regards,
Mike
Replies have been locked on this page!