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
891011121314
15161718192021
22232425262728
29123456

SSIS For Each Column in a Data Flow

  • 29 May 2011
  • Author: MikeDavis
  • Number of views: 14201
  • 0 Comments

When you want to transform data in a data flow task in SSIS, the derived column transform performs this very fast due to the batch method. But if you have hundreds of columns that need the same transform performed on them, it can be very time consuming to create each of these derived column expressions. You can use a script task to loop through the columns in a data flow and perform the same task on every input column you select in the script task. Keep in mind, this will degrade performance, but it will make the development faster.


Here are the first few rows of the million row table I am going to use to demonstrate the functions. Let’s say we need get just the first 3 characters on each of these fields.

SSIS For Each Column in a Data Flow


 
First I will show how to complete this with a derived column. It is just a simple substring command on each column. This is a small example. Imagine if you had hundreds of columns that need this transform. This would be a very time consuming process. This derived column will work and perform very fast.

SSIS For Each Column in a Data Flow
 

With a script task you will need to import the System.Reflection namespace. This will allow you to refer the columns in the data flow. Then we will create a For Each Loop to loop through each column.  The first thing we need to do is place a check next to each column we want the script task to substring and set them to read write so we can update them.

SSIS For Each Column in a Data Flow

Here is the code in the script task that will perform the substring function needed.

        Dim column As IDTSInputColumn100
        Dim rowType As Type = Row.GetType()
        Dim columnValue As PropertyInfo

        For Each column In Me.ComponentMetaData.InputCollection(0).InputColumnCollection
            columnValue = rowType.GetProperty(column.Name)
            Dim strCol As String = columnValue.GetValue(Row, Nothing).ToString()
            strCol = strCol.Substring(0, 3)
            columnValue.SetValue(Row, strCol, Nothing)
        Next


Both of the above transforms will give you the below output.

SSIS For Each Column in a Data Flow

The derived column performed this operation on one million rows in 6 seconds. The Script task took 406 seconds, over 6 minutes, on the same one million rows. This is a massive performance loss. I would not suggest using the script task method due to the performance loss. Although if you know the number of rows will always be low and the table is very wide and has a lot of columns that you need to perform the same function, then it can be used with no scalability.

Print
Tags:
Rate this article:
No rating
MikeDavis

MikeDavisMikeDavis

Other posts by MikeDavis

Please login or register to post comments.