Business Intelligence Senior Consultant
Areas of Expertise:
Marco Russo (email@example.com) is a founder of SQLBI.COM. He provides consultancy and training on Business Intelligence, with a particular specialization in the Microsoft Technologies related to BI. He has written several papers about these topics, with a particular mention for "SQLBI Methodology," which is a complete methodology for designing and implementing the back-end of a BI solution (from OLTP to OLAP cubes through Data Warehouse and Data Marts) using the Microsoft BI stack of technologies, and "The Many-to-Many Revolution," which is a paper dedicated to modeling patterns using many-to-many dimension relationships in Analysis Services. In 2009, he has co-authored Expert Cube Development with Microsoft SQL Server 2008 Analysis Services, which is considered an important set of guidelines and best practices for using Microsoft Analysis Services in the real world. He also wrote several books for .NET development, in Italian and English language. Marco is also regular speakers at major international conferences about Microsoft SQL Server PowerPivot for Excel, Microsoft SQL Server Analysis Services, and .NET Framework development.
Marco blogs at:
April 17 2014I recently published the ABC Classification article in www.daxpatterns.com, which is a more structured and organized way that recap what I already described in this blog a few years ago (see ABC Analysis in PowerPivot). The pattern describe how to implement the classification through calculated columns, so we consider it… read more
April 15 2014I recently tried Excel for iPad and tried opening several workbooks. The results are pretty good, but I’ve found that it wasn’t possible to display certain workbooks. For example, opening a workbook that contains many CUBEVALUE formulas, I should have seen this result: However, sometime I’ve got an error saying… read more
April 03 2014The recent Time Patterns article published in www.daxpatterns.com contains many DAX formulas that I hope will be useful to anyone is interest in implementing time-related calculations in DAX without relying on the Time Intelligence functions. There are several reasons for doing that: Custom Calendar: if you have special requirement for… read more
March 31 2014The current version of Power Query does not have a user interface to create a Distinct Count calculation in a Group By operation. However, you can do this in “M” with a simple edit of the code generated by the Power Query window. Consider the following table in Excel: You… read more
March 24 2014If you use DISTINCTCOUNT measures in DAX, you know performance are usually great, but you might have also observed that the performance slow down when the resulting number is high (depending on other conditions, it starts decreasing between 1 and 2 million as a result). If you have seen that,… read more
March 20 2014DAX includes several statistical functions, such as average, variance, and standard deviation. Other common algorithms require some DAX code and we published an article about common Statistical Patterns on www.daxpatterns.com, including: Average Moving Average Variance Standard Deviation Median Mode Percentile Quartile I think that Median and Percentile implementation are the… read more
March 13 2014In the last two weeks we published two new patterns of www.daxpatterns.com: Static Segmentation Dynamic Segmentation These two patterns offers solutions to the general problem of classifying an item by the value of a measure or of a column in your Power Pivot or Tabular data model. For example, you… read more
March 07 2014I will be in Amsterdam for the Advanced DAX Workshop on March 17-19, 2014 (hint: there are still a few seats available if you want to do a last-minute registration), and the evening of March 18 I will speak at a PASS Nederland UG meeting (between 18:30 and 21:00) that… read more
March 06 2014A few days ago I published the article FILTER vs CALCULATETABLE: optimization using cardinality estimation, where I try to explain why the sentence “CALCULATETABLE is better than FILTER” is not always true. In reality, CALCULATETABLE internally might use FILTER for every logical expression you use as a filter argument. What… read more
March 04 2014It is available the new edition of the advanced OLAP book, now called “Expert Cube Development with SSAS Multidimensional Models”. The previous edition was titled “Expert Cube Development with Microsoft SQL Server 2008 Analysis Services” and the biggest issue of the book was… the title! In fact, there haven’t been… read more
February 27 2014Apparently you cannot pass an argument to a DAX measure. In reality, you can interact with a slicer that has the only purpose of representing a parameter used by a DAX formula. You just create a table in the Power Pivot or Tabular data model, without creating any relationship with… read more
February 26 2014Many people requested me how to connect to Power Pivot from an external program, without publishing the workbook on SharePoint or on Analysis Services Tabular. I always said it is not possible (for both technical and licensing reasons), but someone observed that Tableau is able to extract data from a… read more
February 24 2014In its first two months, DAX Formatter served 3,500 requests and I see the daily trend slowly raising. If you have observed carefully the first articles published on DAX Patterns, you might have seen that you can click the link”Code beautified with DAX Formatter”. When you click that link, you… read more
February 21 2014Creating Distinct Count calculations in DAX is pretty easy when the target of the operation is a column in the “fact table” of a star schema. When you want to apply the DISTINCTCOUNT function to a dimension attribute (such as Customer Country, Product Model, Employee Department, and so on), you… read more
February 20 2014The first pattern published on www.daxpatterns.com is the Cumulative Total. Another common name of this calculation is Running Total, but the reason why we named the pattern in this way is that we identify all those scenarios in which you want to obtain a value, at a certain date, that… read more
February 18 2014I’m very proud to announce the official launch of the DAX Patterns website! http://www.daxpatterns.com I and Alberto Ferrari worked on this idea for a really long time. Many business scenarios can be solved in Power Pivot using always the same models, with just a few minor changes. This is especially… read more
February 13 2014I wrote an article about how to get the Last Process Date in SSAS Tabular. This is a common request and there are many ways to obtain this information. You can use the metadata provided by XMLA or DMV, just as you can do in SSAS Multidimensional. Or you can… read more
February 11 2014Now that Power BI is finally available (I still use terms as “released” for software and “in production” for a service…) I made some test on the new Scheduled Refresh option that you have for your models (other info here. First of all, the Refresh feature within the Excel workbook… read more
"I learned a lot from this book about all the different types of programs and ways you can use this very useful data program."
"Keep this baby close by. You'll be looking in it every eleven seconds."
"I would recommend this book to those who have to handle business analysis but are not looking for an extensive business intelligence solution."
"Authors Paolo Pialorsi and Marco Russo, have done an outstanding job of writing a book that covers Language Integrated Query (LINQ) both deeply and widely."
© 2014, O’Reilly Media, Inc.
(707) 827-7019 (800) 889-8969
All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.