Guest interview in Power BI Developer Blog and a new Send To Power BI app for Excel

Be sure not to miss the latest blog on the official Power BI Developer Blog :) , the amazing Power BI team asked us to share some thoughts on our latest work & research working with the new Power BI APIs and capabilities. And we were deeply honored to contribute. How cool is that? :)

Read the full post here.

And celebrating the day :) also announcing that even if you can already use SmartCharts to push & sync data to the new Power BI Preview directly from Excel, you now have a dedicated app just to do that :) a brand new Send To Power BI Office App for Excel.

Give it a test drive and leave us your feedback or review. :) It will be greatly appreciated!

Download the new app from the App store.


For more info:

DevScope GitHub repository
Send To Power BI Excel App
SmartCharts Excel App
DevScope Office Apps
Rui Quintino Blog
Rui Romano Blog

Awesome day! :)



More Power BI API awesomeness, now on PowerShell & SmartCharts

Amazing week for Data lovers & Business Intelligence minds, Power BI Preview is now *globally* available! Be sure to check out the public announcement  for details. And Chris Webb’s BI blog for additional insights.

By now you know that there’s a new & strong developer story for the new Power BI,  and even if at the moment we have a simple API to test drive, it already allows to think of interesting scenarios. Particularly for real-time dashboards or  the click to insights pattern  I happen to obsess so much ….

Really, seems there will be no place for data to hide from Power BI :). When Power BI can’t get there… we will bring it to Power BI in a blink of an eye, in real time if needed, all using the brand new APIs.

Don’t have Power BI Designer? or even Excel? and need to quick load  some data to explore? Real time? Check out DevScope github  & use the awesome Power BI API Powershell modules to load your Data into PowerBI directly from the command line (for more info & a cool real time sample don’t miss  Rui Romano blog post).

Not forgetting we already have NuGet Power BI api modules for .Net, Xamarin,  iOS & Android by Sylvain Pontoreau .  Or more recently new sample web apps for Power BI api scenarios.

Adding that, as of… now :) you can also use SmartCharts to quick send & live sync to Power BI directly from Excel. :)

Start with your data as usual or the sample dataset and just click Send To Power BI.


Authenticate & authorize the app for Power BI access,  choose a Dataset and a table name :


and your data will be available in your Power BI account ready to more Power BI awesomeness

(note: if using date/time columns we also add some extra time related columns we happen to use in the app).


Your data ready to explore in Power BI:




Noting that you should be able to do all this on trial mode without any restrictions.  Got feedback and requests? let us know (there’s a feedback form in the app :) we will get back to you)

Get SmartCharts here, or checkout or other DevScope Labs  Office Apps here.

If you want to know more about the new APIs, some additional recommended reading:

More to come :) stay tuned


How #AzureML and #MachineLearning are helping managing my Inbox–Part I

In this post, how to build an AzureML model to auto suggest folders/labels for email classification & archiving. How to consume AzureML web service directly on Outlook.

note: sample AzureML experiments now published on the brand new AzureML gallery. Email Classifier-Training & Email Classifier – Scoring

Context: for years I’ve opted for an archive by folders strategy to handle my Inbox (not obsessed with inbox zero but  I try to keep it below ~50 inbox mails, and instead use inbox like a buffer – since my first contact with David Allen GTD years ago). true: once in a while I try to test the single  archive folder, but until now…always reverted back to my folders to organize so many parallel projects and threads going on

For this to work, I think one thing  is absolutely mandatory, very fast folder archiving and switching. Although have tried a few tools for this  I ended up coding some Outlook macros over the years to fit this… “peculiar” way of working and unproductive task switching…. 

So to archive a mail I just press alt-4, this window popups up, I type my search terms, enter, and it’s done. mail Archived


Or to switch context to a specific project or fast search, just press alt-3, search, enter and I’m there with the latest thread mails immediately available.


(that can admit, I obsess over searching…. “as you type” kind of search :) )

Fast forward to “the present”, #MachineLearning #DataIntelligence #AzureML era. I now have a few thousand “labeled” mails (to use machine learning terms) on several active folders. My macros were needing an improvement….  :)

So I exported my archive mails in the form:   |from | to | subject | time offset since fixed day|  format to a csv (tsv in fact)


and let AzureML do the heavy lifting of building my very personal email classifier suggestion web service, putting some multiclass classification models & also text handling /feature hashing AzureML features to work in a more useful scenario than classifying flowers :)



Sticking with the neural network model for now (default params), created and adjusted the scoring experiment & published the web service.



Used the VBA code sample from the new cool AzureML generated Excel files,


few lines of code added on my Outlook macros, based on AzureML Excel VBA code/macros


and we get a pretty impressive auto classifier ready to use & help manage our inbox, suggesting the folders where the message belongs when archiving.(note: also triggered when sending messages, archiving both sent and original message if needed.)

So for example,  if I’m disturbing Joana with another annoying mail :) about SmartCharts new features AzureML advises me:


On the other hand, if it were an help request to Romano on some stream analytics samples AzureML would opt for:


press Enter, for now it’s needed…:) ,  and that’s done. How cool is that? :)

(have to say that the accuracy is not 100% obviously , but pretty damn useful already)

All this running on a free AzureML workspace. Up & running & minutes, from training to online web service

(excluding the time to slightly adapt AzureML VBA code to call the web service & get my mail properly exported)

Training & scoring experiments are available in AzureML gallery fo you to test drive. Off course I loaded a small sample of my mail in those, so you will have to load your own to really see how it works.

…now, to be close to perfection this would benefit from automated data update & model retraining, and that will be the case for use the new AzureML training APIs.

But that will have to wait! :) (true, reduced some time processing my inbox, but not that much…!)

btw- hope to get feedback on this scenario, ex: feature engineering tips and model tuning suggestions to improve the model results



SmartCharts for Excel new features: guest post by Joana Barbosa

Sharing the first guest post on my blog (cool!) and proudly introducing my colleague Joana Barbosa (who I hope soon to have her own tek blog ;) ). She will share some of most recent feature of our tiny (but cool) dataviz App for Office, SmartCharts.

Joana works on DevScope  “multi-faceted” BI Team :)  , among several amazing contributions, she’s the main dev working on SmartCharts coolest features (namely d3/dataviz). (adding to that…. fixing my bugs, sorry Joana! :) )

ps-feedback on features or suggestions? please use the app built-in feedback form . It will reach me or Joana in a moment.

Go Joana!

Hi everyone,

So, recently SmartCharts got some new features for you to play with. And, since the 2014 FIFA Ballon d’Or winner was announced this week, I’m going to demonstrate them using a soccer dataset: Champions League – Best Scorer By Year.

First of all, we’ll load our dataset.


Our table has columns for date, player’s name, country and team as well as goals scored. But we also have three special columns: Images of the player, team and country containing links to pictures.

What can we do with this? We can enhance our charts of course!

One of SmartCharts’ new feature is binding an image column to another dimension column. For that, we need to name it according to the following rule:

– Consider our column ‘Country’. To bind an image column to this dimension, we must call the new one ‘Country_image

Applying this to our dataset, we’ll see the following result:


So, our Bubble Chart has become much nicer, with flag images on it. Also, when you go over a Bubble or over a slice in the Pie Chart, we’ll see our dimension chart over time accompanied by the dimension image we added.

Imagine now that we want to see all players from our country in the set. How could we do it?

Before, we had to alter our dataset in the spreadsheet. Now all we got to do is click on whatever you want to filter by, for instance, the Portugal bubble. This way, by changing the dimension to Player, we’ll only see the Portuguese players. That easy!


Of course, we can go even further by selecting and filtering another dimension (ex. Team: Real Madrid). Thus, we’ll only see the players from Portugal and who were also playing in Real Madrid. In this case, the single result is Cristiano Ronaldo.

Oh, if you want to print one of your charts, or take a screenshot to copy to a document but you don’t want that toolbar messing with your nice chart, just click on the small arrow icon in the upper right corner, and the toolbar will be gone, hidden until you re-click the button.


And that’s it! Our brand new features that I hope you try and enjoy.

The dataset is available for you to check it here:

So, want to build some cool fresh interactive charts?

Then, Go Smart and make your own SmartCharts!


Thoughts on the new Power BI Preview, great expectations & some wishes for 2015!

Far from a review, as there’s no need for that such is the amount of information and detailed reviews on the last Power BI preview and announcements, just to name a few:

December announcements and Power BI “vnext” preview release:

Chris Webb Blog: Thoughts On The New Power BI

Walking through the Power BI Public Preview – Jen Underwood

Unwrapping the Power BI vNext Public Preview by Jen Underwood

To be quick and to the point :) I’m looking forward for 2015! The new features announced (IMO) show a much renewed & strongly motivated state of mind from Microsoft BI teams.

Frankly speaking, be it justified or not (hope so, we’ll see!), these last weeks of deep diving in the new content & possibilities made me remind those times of SQL 2005 release, so much was new at the time, a world of possibilities, so much to learn. Complete new SSAS engine/model, DMVs, new designer, SQL 2005 man. studio (no query analyzer/ent. manager any more!).  Since then its been incremental (IMO), but that release was disruptive. *Huge* release. (~9 years ago…. )

(Kind of ironic that I “complaint” so often on the amount of constant learning & research needed to work in technology … to find out that’s precisely that learning that keeps my mind happy :) )


Power BI Preview release & features first impressions

Anyway, Power BI December announcements pack a lot of relevant news, not to be taken lightly. A lot of impressive new features & scenarios but more importantly a new roadmap/vision starts to materialize:

about the time iOS apps available and are even the first to go Live

-an hint for a Power BI now decoupled from Office 365 , even Excel (they should work even better together, but Office 365 should not be a requirement IMO and not everyone has the latest Excel 2013 for sure…. & I have to say :) why not a free tier for Power BI? –noting that the new Power BI Preview landing page features a “Use It Free “ button for signup…. just saying…)

-where one of the first Power BI brand new API samples is a Chrome extension :)

-we now have a proper PowerBI Developer Center and brand new a REST API , for someone eternally divided between Dev & Data this is heaven,

a unified HTML5 Power View  version  (new power bi portal, power bi designer, apps) , this allow (I hope) for more focus from MSFT dev teams on a single & more portable dataviz stack,,expect it to evolve on a completely different pace compared to performancepoint, reporting services, silverlight powerview, etc

finally, on-premises tabular data connector, not promised, but actually delivered, on a preview! I’m all in for the cloud dashboards/connectors/local data scenarios.

-The new Power BI if decoupled from o365/Excel, will allow for greater agility & faster release cycles from Microsoft, not so dependent on Office/O365 releases.

The new developer story (did I mention already we got a developer portal? :) ) is huge. Aside from minor extensibility points released in the past (ex: SSAS personalization extensions-remember?), and the huge extensibility of Excel, MSBI has been mostly closed to developers-for me the most annoying issue while doing BI/Analytics, it inhibits creativity. Not much we can do usually to improve end user experience (ex: web dataviz libs) for everything is locked-down, no code. I would prefer to see it as strong platform , that we can automate, extend & improve (like SharePoint, CRM, even office new app model).

-I like the “lean” mindset, lots of feedback channels (be sure to visit the Power BI support site & leave your feedback)  , MSBI teams are clearly “out of the building” and eager for feedback, doing my best!

-Have to say that not initially  impressed by the new dashboards “mashup” (the lack of  filters was a clear indication of a quick win, not a new complete dashboard designer you would expect) … but I’m now sold to the ease of use of the new dashboard mashups (specially when you use Q&A to create very slick dashboards in seconds), reminding you that these update in real time if using the new push API (pretty amazing to see actually, more on this later ;) )

would only like that tooltips/mouseover could be fixed on the final release, & would be great to at least allow for click & autofilter/highlight  like in reports (read: old dashboards). Later on, global filters, but guessing it’s not the most easy thing to do .

The roadmap ahead


Having said that, while the roadmap ahead seems very promising (and anyone close to me know, I’m not an optimist by nature…) , Microsoft will have to deliver on this promise, quickly :

-for everyone already onboard  with Power BI/ Office 365/on premises (read: paying customers) , what’s the story? migration paths? again : trust, return on investment, trust on disruptive innovation on a stable platform, not requiring constantly reformulating solutions to fit the latest version/tools

-how does this fit with the typical enterprise scenarios? where more formal application lifecycle management is needed? source control integration? deployment models?

-pricing? will Power BI have a free tier? (my strong vote. yes, even if very limited, sorry to say but basic BI is already a commodity these days, even AzureML as one free tier)

-can we expect on premises Power BI/SharePoint new releases? or instead will cloud Power  BI be the answer using embedded BI/connectors/gateways? (I’m all in for the cloud, as long as users ’can’t note the difference…)

-partner solutions? Power BI packs marketplace? will it be a reality?

-will the Power BI API allow complete access to deploy/create queries, models & reports?

-can we invest safely on this new stack? expecting it to constantly evolved in the years to come? (not be dropped to a Power BI “v3” in a recent future? starting all over again…?)


Finishing adding a few additional wishes for this year MS Data Platform


-will it be the year when we can finally get rid of having to constantly think of date tables? come on…..! boring!

-Keep a strong story for Office365 & Power BI, decoupled but better together

-Complete portability of Power BI solutions, export PBIX from Power BI, from Excel to pbix, etc

-Microsoft teams more open & able to accommodate quick wins (ex: export to excel… how difficult can this be?)

API for extending data visualizations/prebuilt analytic functions on Power BI, ex: d3js, dimple, highcharts,etc

-Powerful & even more integration with Azure, AzureML, Stream Analytics (see the note on Developer Portal regarding PowerBI/Azure Stream analytic preview) , DataFactory,etc

-hope for new breaktrough on msbi analytic models/engines, ex: a richer semantic layer, with the best of relational & multi dimensional, support for “dimensional attributes” (complex attributes types based on reusable dimensions, no extra related tables polluting the model), others: federated models, dynamic models directly on top of sql server , others, something new !

-Q&A- can we have this everywhere please? :) Excel & Power BI Designer…. guessing its not easy for local models but asking anyway

-Search everywhere in Power BI field lists, both metadata and actual model data (Q&A for sure is using indexed data , could it be a quick win? would be great to have SmartPivot kind of search everywhere)

Excel pivottables/ powerview connecting to cloud Power BI/ Office 365 models

-Multi dimensional roadmap , honestly we just need to know, if the answer is that it will end then 1) we need to have alternatives with tabular, or lose some large scale solutions  2) promises should be kept IMO: Excel Power View & new Power BI connector should be able to connect to multidimensional models , it’s a question of building/regaining trust. 

-Expect to be (pleasantly) surprised! I was for sure last December, looking forward for first release :)  and not wanting to wait another full year!

Next Post:


ps- will be fun and we’ll be taking the new Power BI API for an awesome test drive ;)

Interested in the new Power BI Preview & Roadmap? you should! :) check these additional resources.

Power BI Preview Portal

Microsoft Power BI Developer blog

Walking through the Power BI Public Preview – Jen Underwood

Unwrapping the Power BI vNext Public Preview by Jen Underwood

Power BI Designer Preview- by Adam W. Saxton

Power BI Support Blog

Adding that next Thursday 22nd we’ll be at Microsoft IT Pro Airlift: Data Platform event on the beautiful Microsoft quarters here in Portugal/Parque das Nações. I will be talking about & test driving Azure Stream Analytics (promising technology! you’ll see!), my team mate Rui Romano all about Power BI, and a lot of more sessions to see on Microsoft Data Platform: Azure, Azure Search, Azure DocumentDB, SQL Server 2014, Azure Machine Learning, Column Store, HDInsight, PowerPivot/DAX .See you there!



Take care!


AzureML Web Service Scoring with Excel and Power Query

While drafting some samples & labs for this saturday SQLPort AzureML workshop decided to dig a little bit trying to use some regular AzureML scoring web services (request/response) directly in Excel, using Power Query. :)

So… can it be done? Sure! Advisable? Far,far from it…. but for a quick sample/test scenario it might be handy. :)

Saying again, what I’ll show here is far from a recommended web service usage for AzureML in Excel. It will be slow, probably insecure if you need to distribute your file, and there will be I’m sure better ways to do it with the batch web service mode, soon I hope (without the need to pass through the Azure marketplace),

Side notes:

    How it works

    To the point, you can use the Power Query Web.Contents function to invoke the AzureML web service api. As long as you are careful on: 1) using post and not get, 2)setting the authorization header expected by azureml, 3)setting the content type to json  4) building the json request like shown in the api help page.
    PowerQuery will handle the json response automatically..We encapsulate the web request in a function, we can then use it to build our scored table passing the score input column values and getting the score in return.

Step by Step-From AzureML to Excel Power Query Scoring

You’ll need an AzureML  scoring web service, I used a simple two class log regression model to classify the well known Fisher Iris Dataset (with only two classes, as the original as three):


The AzureML Experiment & Web Service Experiment, can’t get much simpler than this.

Training Experiment


Web Service Experiment


Publishing the trained model as a Web Service

AzureML-Iris Classifier Web Service API Help page


this JSON request will be needed for Power Query, same thing as the service key:


In Power Query you’ll then create a function like this (text version below):




Invoking the Power Query scoring function

Then you just import the original table to Power Query and add a custom column invoking the new scoring  function


Note: to test this it is advisable to filter the top 1/2 rows first, it is not lightning fast…. Smile


The result should now be visible, a little bit more Power Query expanding and renaming and that’s it!



To check that I’m getting the expected score, just used another small tool (more on this later)


Power Query results


Scoring the whole 100 rows iris dataset

The problem using the regular Power Query web.contents function  is that you will be receiving api usage threshold errors from the AzureML API very, very soon. So using another trick inspired (again) on this post by Chris Webb (amazing tip by Alejandro Lopez-Lago), to add some delay between requests.

Just remove the top filter and refresh the query. Wait between 30 secs-60 secs (this will depend on the kind of endpoint you are using, AzureML is changing this whole “stag/production web service model “ right now from what I’m seeing)


note: think the latest Power Query update now shows the row count progress, neat! perfect for this Smile




Some misses there Smile guess the model needs some additional training!


Download the sample here, (note: will need your own AzureML endpoint & key, you do know that AzureML has a free tier right? :) ) the full Power Query score function for this model is below.

Take care!



     Score= (sepal_length as any,sepal_width,petal_length,petal_width) =>


serviceUri="*yourserviceuri_note:ends with score*",

PostContents= "

  ""Id"": ""score00001"",
  ""Instance"": {
    ""FeatureVector"": {
      ""sepal_length"": """&sepal_length&""",
      ""sepal_width"": """&sepal_width&""",
      ""petal_length"": """&petal_length&""",
      ""petal_width"": """&petal_width&"""
    ""GlobalParameters"": {}
      //Define Wait function
    Wait = (seconds as number, action as function) =>
            if (List.Count(
              () => DateTimeZone.LocalNow() + #duration(0,0,0,seconds),
              (x) => DateTimeZone.LocalNow() < x,
              (x) => x)
              ) = 0)
               then null else action()
    //Call Wait function to wait 5 seconds
    //then return the current time again
    Source=Wait ( 0.05, () => Web.Contents(serviceUri,
    Headers=[Authorization="Bearer "&serviceKey,#"Content-Type"="application/json; charset=utf-8"]])),
    #"Imported JSON" = Json.Document(Source),
    #"Table from List" = Table.FromList(#"Imported JSON", Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Transposed Table" = Table.Transpose(#"Table from List")
     #"Transposed Table"
    in Score

#SqlPort upcoming CTP hands on workshop–Cloud #MachineLearning & #DataMining using #AzureML 29 Nov Lisbon

It’s already this Saturday 29 that I’ll be hosting the first AzureML hands-on workshop in Portugal. It has been a pleasant surprise to see that it’s filling up rather quickly, much to thanks to the restless SqlPort community team (Particularly Niko & Paulo amazing work… allowing me to fully  focus on the workshop itself… more pressure for sure… no excuses!).

I’m rather curious to see how it goes, as there will be for sure an interesting mix of profiles attending this workshop. And I hope that will contribute to make this a very interactive, personally demanding  but enjoyable day!

The event is organized by SQLPort, all the resulting revenue will revert to community support & upcoming events.

Check out the workshop agenda below or in the event page here . The event will take place at Microsoft Portugal.

Also disclosing that  every participant will be granted access to my very own personal notes & best highlights on some of my favorites data books… (go to love Amazon/Kindle platform)  all of which I’m reviewing right now  ;) .

Data Science for Business: What you need to know about data mining and data-analytic thinking     The Signal and the Noise: Why So Many Predictions Fail-but Some Don't      Naked Statistics: Stripping the Dread from the Data     

See you there!


CTP – Community Technology Preview 2014 Edition – Cloud Machine Learning & Data Mining using AzureML


Sábado, 29 de Novembro de 2014 das 09:00 às 17:30 (WET)

Lisboa, Portugal



Full one day hands-on workshop including introductory course to Machine Learning process, use cases, models & algorithms and also how to model, test & deploy Machine Learning solutions with the new Microsoft AzureML cloud service.


  • Understand Machine Learning & Data Science Fundamentals
  • Model & Deploy Machine Learning Solutions with AzureML, ML Studio & AzureML Web Services

Attendee’s pre-requisites/profile

  • Data Analysts & Enthusiasts, Business Intelligence Professionals, Data Scientists & Machine Learning


  • Introduction to Data Science and Machine Learning
  • Machine Learning Use Cases, Models & Workflow
  • Introduction to Azure Machine Learning & ML Studio
    • o Data Cleansing & Transformation
    • o Data Analysis & Visualization
    • o Machine Learning Models: Classification, Regression, Clustering, & Text Mining
    • o Model Tuning, Scoring & Evaluation
    • o Using R in Azure ML
    • o Publishing Models as Web Services
    • o Using Excel with Azure ML
    • Books & Resources for AzureML, Data Science & Machine Learning