Business Intelligence Blogs

View blogs by industry experts on topics such as SSAS, SSIS, SSRS, Power BI, Performance Tuning, Azure, Big Data and much more! You can also sign up to post your own business intelligence blog.

«February 2016»
MonTueWedThuFriSatSun
25262728293031
12345

Power BI Publish to Web for Anonymous Access is Here

Earlier this week on Wednesday the Microsoft Power BI made an incredibly exciting announcement and released Power BI “publish to web” as a preview feature. This is HUUUUGE news! This was probably the top requested feature and its finally here thanks to the hard work and dedication of the Microsoft Power BI team!

Read Getting Started with R Visuals in Power BI

Power BI “publish to web” allows you to easily expose a Power BI report to the world through an iframe that can be embedded wherever you like.

To publish your Power BI report to the web, log into your Power BI site.

Find the report that you want to share and click File in the top left.
Power BI publish to web

You’ll see a message pop up box similar to below. Click the yellow button to create the embed code.
Power BI publish to web preview

This is where you’ll see a very important warning!
WARNING: Reports that you expose through the “publish to web” feature will be visible to everyone on the internet! This means NO AUTHENTICATION is required to view the report that is embedded in your application.
warning 2

Once you do that, you’ll receive an embed code that you can then use to expose your Power BI report within your blog as seen below!

https://msit.powerbi.com/view?r=eyJrIjoiYTNjNzcwNjctNTczMy00ZDMxLWFlMGUtMDViODA1NGZiNmI0IiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9

As you can see the report maintains all the interactivity features of Power BI. And as your Power BI report updates and changes, those changes will be reflected in your embedded Power BI reports!

Pretty awesome!

Additional Resources

Read the Power BI “publish to web” announcement here.

Read the Power BI “publish to web” documentation here.

Feedback

Let me know what you think of this feature or if you have any questions. Leave a comment down below.


Read more
67
8

MDX NON EMPTY KEYWORD VS NONEMPTY FUNCTION

Non Empty vs NonEmpty

Hey everyone, in this blog I want to address a very common MDX Question. What is the difference between the NON EMPTY keyword and NONEMPTY function? To take it a step further which one should you use?

Non Empty keyword VS NONEMPTY Function.

The big difference between the NON EMPTY keyword and the NONEMPTY function is when the evaluation occurs in the MDX. The NON EMPTY keyword is the last thing that is evaluated, in other words after all axes have been evaluated then the NON EMPTY keyword is executed to remove any empty space from the final result set. The NONEMPTY function is evaluated when the specific axis is evaluated.

Should I use NON EMPTY keyword or NONEMPTY function?

Ok Mitchell, so you told me when each of these are evaluated but really you haven’t told me anything up until this point. Can you tell me which one I should use already? Well, unfortunately, it depends. Let’s walk through an example of each using the BOTTOMCOUNT function.

BOTTOMCOUNT FUNCTION with NON EMPTY Keyword

In this example I’m returning the bottom ten selling products for internet sales. Notice that I have returned all products that have no internet sales, this is not necessarily a bad thing, maybe you want to return products that don’t have sales.

image

However if you don’t want to return these products then we can try using the NON EMPTY keyword. In the below example you can see the results when I add NON EMPTY to the ROWS axis.

image

WHOOOAAA, what happened?? A lot of people would have expected the results here to show the bottom ten products that DID have sales. However, that is not the case, remember that I said the NON EMPTY keyword is evaluated LAST after all axes have been evaluated. This means that first the bottom ten selling products which have $0 in sales are first returned and then the NON EMPTY keyword removes all that empty space from the final result.

BOTTOMCOUNT function with NONEMPTY function.

So let’s try this again, if you want to return the bottom ten products that had sales then we must first remove the empty space before using the BottomCount function. Take a look at the code below:

image

In this code we first remove the empty space before using the BOTTOMCOUNT function. The result is we return the bottom ten products that had internet sales. Once again neither one is right or wrong here it just depends on what you want in your final result.

NON EMPTY Keyword vs. NONEMPTY Function – Performance

There is a very common misconception that the NONEM

Read more
91011121314
15161718192021
22232425262728
29123456

SSRS - Embedded Custom Code

  • 4 January 2012
  • Author: DevinKnight
  • Number of views: 34278
  • 0 Comments

When developing reports in Reporting Services you will often use the built-in
expression language to make report data and formatting dynamic.  The expression
language can do a lot to within Reporting Services but any gaps in functionality
that it has can be filled with custom code. 

There are two ways to implement custom code in Reporting Services.  The first
way, which I will show in the post, is with embedded code.  The other method is
to create an external assembly that can be imported into a report.  I will
discuss this method in a future post.

Embedded code requires that you use VB but you do not have to go through the
process of creating an assembly in Visual Studio like you would with the
external assembly method.  Let’s go through the process of creating a report
using embedded custom code and discuss some of the other benefits and
disadvantages of this approach.

Here’s a basic report that I’ve developed with a list of employees and phone
numbers.

What I’d like to do is format all the phone numbers to look like this
(###)###-####.  This could easily be accomplished with some custom code.  To add
custom code in Reporting Services select the Report->Report Properties
menu.

Go to the Code page and use the following code to apply the phone number
formatting:

Function PhoneFormat(PhoneNumber As String) As
String
    Select Case PhoneNumber.Length
    Case 7
        Return
PhoneNumber.Substring(0,3) & "-" & PhoneNumber.Substring(3,4)
   
Case 10
    Return "(" & PhoneNumber.Substring(0,3) &")" &
PhoneNumber.Substring(3,3)&"-" & PhoneNumber.Substring(6,4)
    Case
12
    Return "(" & PhoneNumber.Substring(0,3) &")" &
PhoneNumber.Substring(4,3)&"-" & PhoneNumber.Substring(8,4)
    Case
Else
    Return PhoneNumber
    End Select
End Function

Click OK once this code has been entered.  This code reads in different
variations of phone numbers that could be provided and converts it to the
appropriate format.  We can now use this code in our report.  I can replace the
current column that stores the phone number data with an expression that calls
this custom code to correct that data presented in the report.  That expression
would look like this:

=Code.PhoneFormat(Fields!Phone.Value)

When you preview this report now the data will look like this (I’ve kept the
original column so you can tell the difference):

This is a basic example but shows how powerful custom code can be.  Now there
are a few things I should point out about this embedded code example that are
not ideal.  Some embedded code disadvantages are:

  • You must use Visual Basic (no C#)
  • No Intellisense in the code window like you experience in Visual Studio
  • Code errors are not visible until you actually preview the report

While embedded code is powerful you will find external assemblies have even
more benefits.  My next post will walk you through the process of creating a
custom assembly and using it in Reporting Services. 

A real quick plug for a new class I will be teaching this month.  Pragmatic
Works will start offering in January a new Reporting Services Masters class for
those of you that feel experienced with the basics of SSRS.  The Masters class
will assume you know all the basics of building reports and will focus on
advanced topics only.  Check out the class outline and register for the class
now here:

http://pragmaticworks.com/Services/training/Course/Pragmatic-Master-SSRS-2008.aspx

Print
Tags:
Rate this article:
No rating
DevinKnight

DevinKnightDevinKnight

Other posts by DevinKnight

Please login or register to post comments.