Tag Archives: BI
PBIVIZ Single Line Toggle Format Option Tip
We can add various Visual Formatting Options while developing a Power BI Custom Visual. One of them is the Toggle feature which is useful for adding or removing particular abilities to your visual or perform any similar boolean operations. The json bit for the toggle option looks like this. By default when you add a toggle option, the option is available under a dropdown. To access the toggle option you will always have to click on the dropdown arrow. There is a neat little trick that can make you access the toggle button directly rather than clicking on the dropdown button every time. You only need to change the required toggle property name to “show”. Note: The object name for the toggle option needs to be changed to “show” in the visual.ts file as well. Your toggle option should look like this now!
Steps to Import Power BI Custom Visual
Introduction: There are plenty of different custom visuals available outside of Power BI that can be used by anyone to develop some powerful visuals for free. These visuals can be downloaded from the Power BI AppSource marketplace and added in your reports. All of these visuals have also be approved by Microsoft. Steps to Download a Custom Visual: Following are the steps to download and use a Power BI Custom Visual in Power BI Desktop: Open the AppSource and select Power BI Visuals For this demonstration, I will be downloading the Dial Gauge which is a custom visual developed by CloudFronts Select on Get it now(You will have to log in with your Microsoft email id) . A pbiviz file will be downloaded. Open your Power BI Desktop and select on the ellipses in Visualizations. Click on import from file and open the pbiviz file you just downloaded. The visual should be visible with your other visuals now To get a little more familiar with the report, you can download the sample report available with the visual on AppSource. This will download a pbix report. The sample report would look something like this. I hope this blog helps you get started with Power BI Custom Visuals. Do check out our Custom Visual DialGauge as well!
Power BI Transport Layer Security Settings (TLS)
Introduction: The Transport Layer Security (TLS) is a protocol that provides Secure communications. There are different versions of this protocol with the latest one being TLS 1.2. With all the crazy updates that Microsoft comes with, many of the programs, web services. etc. have enforced TLS 1.2 to be mandatory for communicating over the network. The previous versions of TLS are not supported in many of these programs and sooner or later they will deprecate for sure. Lucky for us, after the October 2018 update, Power BI Desktop now respects this need for TLS 1.2 and recognizes the Windows registry key in your System. You can enable or disable which version of TLS protocol is needed and Power BI will use that version accordingly. Steps to disable older TLS: Open your regedit by searching for ‘regedit’ in the search box of the taskbar Note: Changes in the regedit can cause serious changes in your system. Please take a backup of your regedit before proceeding and import the backup just in case your system starts to act funny. Go to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] and make the following changes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] “Enabled”=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] “DisabledByDefault”=dword:00000001 This will disable your Power BI from using your older version of TLS 1.0 by default Steps to update your TLS to 1.2 Go to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] and make the following changes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] “Enabled”=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] “DisabledByDefault”=dword:00000000 This will enforce your applications to use the latest TLS Power BI Desktop will respect the registry keys specified on those pages, and only create connections using the right version of TLS. For further documentation on TLS, you can refer the microsoft document below https://docs.microsoft.com/en-us/windows-server/security/tls/tls-registry-settings
Count Number of weekends between 2 dates in SSRS
Problem: There is no in-built function in SSRS where we can count the number of Saturdays and Sundays between any two dates in SSRS. This is a needed function for scenarios where we only need to get a count of working days.’ Solution: Following is a formula that can be used for getting an accurate count of weekends. = (((DateDiff (DateInterval.Day, DateAdd(DateInterval.Day,7-WeekDay(Parameters!startDate.Value),Parameters!startDate.Value), DateAdd(DateInterval.Day,7-WeekDay(Parameters!endDate.Value),Parameters!endDate.Value).AddDays(1)) + 1)/ 7)*2) + iif(weekday(Parameters!endDate.Value)=7,1,0) + iif(weekday(Parameters!startDate.Value)=1,1,0) -1 Here instead of Parameters!startDate.Value and Parameters!endDate.Value, you can use any other Start Date or End Date.
Work Hours in CRM
In this article, we will learn how we can leverage the work hours in Reporting. The calendar entity stores data for customer service calendars and holiday schedules in addition to business. Each calendar is set for a specific time zone. A calendar describes the availability of a service or a resource. Calendars are related to calendarrule records, which include details about the duration, start and end times, and recurring patterns of events included in the calendar. There are two types of calendar rules in Microsoft Dynamics 365: Root: A calendar rule that contains an inner calendar or that has nested (leaf) rules. You can specify an inner calendar for a root calendar rule by using the InnerCalendarId attribute. The attribute value of CalendarRule.InnerCalendarId of a root rule is the same as the attribute value of CalendarRule.CalendarId of its leaf rules. Leaf: A calendar rule that doesn’t contain an inner calendar, and therefore, is the end of the “branch.” Referred from Blog: https://msdn.microsoft.com/en-us/library/gg328538.aspx To obtain Work Hours of a resource, you can use the following fetchxml code: <fetch version=”1.0″ output-format=”xml-platform” mapping=”logical” > <entity name=”bookableresource”> <!– You can use systemuser to retrieve same data –> <link-entity name=”calendar” from=”calendarid” to=”calendarid” alias=”c” > <link-entity name=”calendarrule” from=”calendarid” to=”calendarid” alias=”cr” > <attribute name=”starttime” /> <attribute name=”effectiveintervalend” /> <filter type=”or” > <!– These filters are applied to get calendar of this year only –> <condition attribute=”starttime” operator=”this-year” /> <condition attribute=”effectiveintervalend” operator=”this-year” /> <condition attribute=”effectiveintervalend” operator=”ge” value=”12/30/9999″ /> <!– 12/30/9999 is the max end date i.e infinite time –> </filter> <link-entity name=”calendar” from=”calendarid” to=”innercalendarid” alias=”inc” > <link-entity name=”calendarrule” from=”calendarid” to=”calendarid” alias=”incr” > <attribute name=”duration” /> <filter> <condition attribute=”duration” operator=”lt” value=”1440″ /> <!– 1440 minutes equals 24 hours which is redundant. As the calendar includes Business Closures and holidays we want to avoid such calendar records –> </filter> </link-entity> </link-entity> </link-entity> </link-entity> </fetch>
Error During Email Activity Migration: ActivityPointer Does Not Exist
Introduction: While migrating Email Activities from D365 v8.2 to v9, I came across the following error: “Operation failed. Label: Create email, Name: emailCreate2, Message: -2147220969: ActivityPointer With Id = XXXXXXXXXXXX Does Not Exist” This can cause some confusion as activitypointers do not need to be migrated before you begin migrating emails. What are ActivityPointers? The activity pointer (activity) entity represents any activity or task that is performed, or to be performed by a user. An activity is any action for which an entry can be made on a calendar. Whenever you create an activity record in Microsoft Dynamics 365, a corresponding activity pointer record is created. This indicates that the activity record and the corresponding activity pointer record have the same value for the ActivityId attribute. For example, if you create an Email record, the attribute values of Email.ActivityId and the corresponding ActivityPointer.ActivityId will be the same. This should not be confused with ActivityParties which represent a person or group associated with an activity. An activity can have multiple activity parties. Cause: Upon inspection, I discovered that those emails are linked to themselves, having the ‘parentactivityid’ field populated with its own activity GUID. The error was being caused because Scribe could not find the parent activity in the Target environment (since it had not yet been created). Solution: Remove the ‘parentactivityid’ mapping from the ‘Create Email’ block. Add an If-Else Block below the Create block to check if the Email has been created, and if true, use an Update block to update the Email with the ‘parentactivityid’. Now, the Email activity will be created with the correct GUID and once created, will be updated with the required GUID as ‘parentactivityid’. This solution resolved the above issue and email activities can now be created without this error occurring.
PowerBI April 2018 Update: Combo Chart Line Formatting
Introduction: PowerBI introduced the feature to format line styles and legends for line charts a while ago. However, these features were not applicable to lines in combination charts like ‘Line and Stacked Column Chart’ and ‘Line and Clustered Column Chart’. With the April update of PowerBI Desktop, we are now able to customise the format for lines in combo charts to different styles, which then reflect in the legend, making the chart easier to read and understand. Steps: While using a combo chart, all line series are in the ‘Solid’ format with just the defined colours differentiating them and the legend only displays their respective colours as shown below. To format the line or line series, go to the ‘Format’ pane and under the ‘Shapes’ card, you will find several options to customise the format of the lines. Shade Area can be switched On to shade the area each line encompasses. ‘Stroke Width’ allows you to adjust the thickness of all the lines. ‘Line Style’ allows you to select whether the line will be displayed as a solid line, dashed or dotted line as shown below. The next option is ‘Show marker’, which when switched On allows you to select the Marker shape, size and colour. To customise each line in a series individually, switch On ‘Customize series’. You will get a dropdown to select from the line values and options to customise the format of each line based on the line value selected from the dropdown. Coming to the customisation of the legend, you can do so by going to the ‘Legend’ card under the ‘Format’ pane. In the Style option, you have three options in the dropdown menu – Markers only: This will display only the respective markers in the legend. Line and markers: This will display both the respective lines and markers in the legend. Line only: This will display only the respective line style in the legend (shown below). Conclusion: As we can see, the new April update allows us to completely customise the lines in a combo chart, which not only add more visual appeal but also enables the user to easily read and understand the chart and the data it represents.
Power BI April 2018 Update: Q&A Explorer
Introduction: In this blog we will explore some of the new features added to Power BI. Power BI has upgraded its Q&A Experience in its latest April release. It has simplified and simultaneously improved the natural language recognition process which is one of Power BI’s most powerful tools for Query Processing! Some of Q&A Explorers cool new Features: You can now add a simple image, shape or button which on being click can launch a Q&A Explorer! You just need to toggle the Q&A option on under Action for the particular image/shape/button. Adding a Q&A button can look something like this. On clicking on this newly created Q&A Explorer a dialog appears where the user can ask questions to generate dynamic visuals. To learn more about this feature you can view my previous blog on Natural Language Processing over here. You can add suggested questions which will show on the left side of the dialog when a user clicks on the Q&A button. When you click on Save and close these newly added Suggested Questions will get saved to this specific Q&A button. The Q&A Explorer can also return whole reports now when you search specific keywords. You can do this by going to a particular report and turning it’s Q&A Feature on in Page Information. Searching these keywords in the Q&A Explorer will return this particular report. Optionally, if you have page level filters then you can set Require single selection On for a particular filter. This filter will then be shown in the Dialog while searching for the queried report. Conclusion: These are some of the latest features added to Power BI’s arsenal. Q&A Explorer is an underused tool but if used correctly it can improve your interactive experience with your reports tremendously.
Migrating ClickDimensions Records From D365 v8.2 to v9: Email Template
Introduction: In this blog, we try migrating Email Template records under Email Marketing module in ClickDimensions. ClickDimensions has many modules like Email Marketing, Analytics, Event Management etc. Under Email Marketing Module, we have entities like Email Template, Email Sends, Sent Emails, Unsubscribes and so on. While trying to migrate all the Email Templates from D365 v8.2 to v9 using TIBCO Cloud Integration, we encountered an issue. We could not find any field or entity that stored the HTML code which formed the body of the Email Template. The reason behind this issue is the HTML code is stored on the ClickDimensions side and not on ours. Therefore, in order to migrate Email Templates successfully, we need to use the Import/Export options in ClickDimensions Settings. Steps: 1. In your Source environment, go to Settings and click on ‘ClickDimensions Settings’. 2. Click on ‘Export’. 3. Select the entities you want to export and click on ‘Next’. 4. Click on ‘Export’. A .zip file will be downloaded. 5. Now, go to your Target Environment and click on Settings -> ‘ClickDimensions Settings’-> ‘Import’. 6. Click on the ‘Upload ZIP File’ button and select the file you just downloaded from the Source Environment. Click ‘Import’. Conclusion: The Email Templates will now be present in the Target System. This process did not change the GUID of the record, which is important to note as it may be required further on in the migration process. I hope this blog contributed to clearing things up when it comes to migrating Email Templates in ClickDimensions. I will be adding more blogs about migrating records in other entities of Click Dimensions soon. Stay tuned!
Email Migration from D365 CRM v8.2 to D365 CRM v9 using TIBCO Cloud Integration: Attachments & Status Update
Introduction: In this blog, I will outline how to migrate Email Attachments and update the status if an email. In my previous blogs, I have shown how to migrate the body of an Email and its Activity Parties from one CRM to another using Scribe. Email Attachments: Below, is the map used to migrate Email Attachments. As you can see, it is pretty straightforward, barring a few things to keep in mind while mapping. 1) Email Attachments are stored in the ‘activitymimeattachment’ entity. 2) I did not map the ‘attachmentid’ field as it produced an error as well as there is probably no reason one would need the GUID of the attachment. Not mapping attachmentid will create a new GUID for the attachments being migrated. 3) Most data regarding the Attachments migrated along with the first map migrating ‘Email’ activity. 4) That is why, in this map, we just migrate the subject, filename and body fields along with ‘objectid’ and ‘objecttypecode’. 5) The ‘objecttypecode’ tells which entity the attachment belongs to and its GUID. Once you run the map successfully, you will see the attachments displayed in the email. This includes image attachments as well. Target: Email Status Update: As for most Activity entities, while migrating, we migrate with an ‘Open’ status. This is done to ensure the record does not become read-only which would not allow us to migrate the corresponding Activity Parties and Attachments. This could lead to an inconsistency in data in Source and Target. Once the Activity Parties and Attachments have been migrated to the record, we can now update the Status of the Email to what it is in the Source environment. This is a basic but fundamental step to ensure no data inconsistency. Sample State Code & Status Code Values: In this map, all we have to map are the ‘Status Code’ and ‘State Code’ as it is in the Source Environment. This will update the status of the email. In the screenshot below, you can see that the Status has been updated to ‘Sent’. Conclusion: This completes the process of creating TIBCO Cloud Integration Maps for Email Migration from CRM to another. I hope this and my two preceding blogs provide a sufficient outline for the process of Email Migration.