# BIDS Helper

BIDS Helper is a Visual Studio open source extension with multiple features that extend and enhance business intelligence development functionality in all editions of Microsoft's SQL Server 2005, 2008, 2008 R2 and 2012. BIDS Helper improves the development environment for integration, analysis and reporting services. BIDS Helper is hosted on GitHub.

## History

BIDS Helper was initially released on May 27, 2007. BI Developer Extensions for Visual Studio 2015, 2017 and 2019 is published in the Visual Studio Gallery. The last version for SQL 2005 (Visual Studio 2005), SQL 2008 (Visual Studio 2008), SQL 2008 R2 (Visual Studio 2008), BIDS Helper 1.7.0 was released on March 17, 2015.
In Version 1.5, released on June 7, 2011, Varigence contributed key portions of the Biml engine, including dynamic package generation to BIDS Helper. Business Intelligence Markup Language (Biml) is an XML-based language that allows a developer to describe a BI solution in a declarative fashion, similarly to using HTML to describe how a web page should appear. Version 1.5 also had the Expression Editor contributed by Konesans.

## Features

BIDS Helper has dozens of features that improve the functionality of BIDS, SSIS and SSAS. They are classified into one of five categories listed below based on where they increase functionality in SQL Server:

### Analysis Services Multidimensional

Aggregation Manager - an advanced interface for manually editing aggregations
Calculation Helpers - enhances the Calculations tab of the cube editor
Column Usage Reports - opens two reports about column usage: Unused Columns Report + Used Columns Report
Delete Unused Aggregations - automates the process of detecting which aggregations are unused and deleting them
Deploy Aggregation Designs - deploys just the aggregation designs in a cube. It does not change which aggregation design is assigned to each partition
Deploy MDX Script - allows for right clicking on a cube in an Analysis Services solution and deploy just the calculation script
Dimension Data Type Discrepancy Check - runs checks that DSV data types match the data types on the KeyColumns and NameColumn of dimension attributes. It displays any discrepancies and lets the user fix them with the click of a button.
Dimension Health Check - checks various indications of dimension health
Dimension Optimization Report - This report lists all dimension attributes and hierarchies on rows. On columns, it lists various properties which can be used to optimize dimensions.
Duplicate Role - copies a role with all of the associated settings and permissions
Many-to-Many Matrix Compression - Analyzing the data in a m2m relationship to determine whether it can be compressed significantly requires building a complex SQL query. This feature automates this process and returns a report showing how much each m2m relationship can be compressed.
Measure Group Health Check - checks various indications of measure group health.
Non-Default Properties Report - generates a report which shows all properties which have been changed from their defaults.
Parent-Child Dimension Naturalizer - aids in converting parent-child dimensions into natural hierarchies.
Printer Friendly Aggregations - allows for printing or exporting to PDF a report that lists every aggregation in a cube.
Printer Friendly Dimension Usage - allows viewing and printing of a report encompassing all the information from the Dimension Usage tab.
Roles Report - recursively list the members of the role and the members of groups in order to easily determine which members actually have access via each role
Similar Aggregations - allows viewing a report that lists any aggregations which are very similar to each other. Smart Diff - compares versions of a SSAS, SSIS, and SSRS files. BIDS Helper pre-processes XML files so that the diff versus source control is more meaningful.
Show Extra Properties - exposes hidden properties on several Analysis Services objects. It also provides a better UI for editing descriptions on Analysis Services objects.
Sync Descriptions - if the source database has descriptions for relational tables and columns (for example, using the Kimball Dimensional Modeling Spreadsheet) this function will import those descriptions to the dimension in Analysis Services. Test Aggregation Performance - test the performance of aggregations
Tri-State Perspectives - this feature operates in the Perspectives tab of the cube designer. It highlights any measure groups or dimensions in which not all visible children are part of the perspective
Update Estimated Counts - updates the EstimatedCount property of every dimension attribute and every partition with exact counts
Validate Aggregations - quickly check whether any aggregations violate restrictions or best practices
Visualize Attribute Lattice - allows for visually seeing the attribute relationships that have been defined for a dimension in an Analysis Services solution

### Analysis Services Tabular

Smart Diff - compares versions of a SSAS, SSIS, and SSRS files. BIDS Helper pre-processes XML files so that the diff versus source control is more meaningful.
Tabular Actions Editor - provides a UI for editing actions for Tabular models. For example, this feature allows the model designer the ability to customize the columns returned by drillthrough.
Tabular Display Folders - provides a UI for editing display folders on measures, columns, and hierarchies. All display folders are edited in the same place. Tabular HideMemberIf - allows HideMemberIf setting to be changed
Tabular Pre-Build - catches the build event and checks features for BIDS Helper settings that have been lost. Because these settings were backed up in annotations, they can be restored, and the user will be prompted if this is necessary.
Tabular Sync Descriptions - if the source database has descriptions for relational tables and columns (for example, using the Kimball Dimensional Modeling Spreadsheet) this function will import those descriptions to the table in a Tabular model in Analysis Services. Tabular Translations Editor - allows for coding in one language but display the model to users in another language. For example, the model might be coded in English but display to users in Spanish.

### Integration Services

Batch Property Update - Allows for updating multiple packages properties at once
Biml Package Generator - provides the ability to create packages from Business Intelligence Markup Language (Biml) Create Fixed Width Columns - allows for the use of an Excel spreadsheet to create the column definitions in a few simple steps.
Deploy SSIS Packages - quickly deploy SSIS packages directly from BIDS without having to create a deployment manifest and use the Package Installation Wizard.
Design Warnings - provides similar functionality to the Design Warning feature in Analysis Services 2008. It compares the current package against a list of design guidelines, and adds warnings to the Error List in Visual Studio for any items that need to be investigated.
dtsConfig File Formatter - watches for when a window is activated or created for a file with a .dtsConfig extension and automatically initiates the Visual Studio formatting feature
Expression and Configuration Highlighter - gives a visual indicator so that the influence of expressions and package configurations can be seen at a glance
Expression List - provides a window that lists all the expressions defined in a package
Fix Relative Paths - helpful in setting up packages to use relative paths in connection managers and in the path to dtsConfig files
Non-Default Properties Report - displays on one screen all properties which have been changed from their defaults
Pipeline Component Performance Breakdown - automates the methodology for determining which piece of a data flow task is the bottleneck and shows a trend of component performance as different settings and design alternative are tested Reset GUIDs - resets the IDs for all tasks, connection managers, configurations, event handlers, variables, and the package ID itself
Smart Diff - compares versions of a SSAS, SSIS and SSRS files
Sort Project Files - adds a "Sort by name" menu option to the "SSIS Packages" folder of an SSIS project in Visual Studio
Sortable Package Properties Report - This report shows the following properties for every SSIS package in the project or solution: Package, Name, ID, Description, Creator Name, Creation Date, Creator Computer Name, Version Build, Version GUID, Version Major, Version Minor
SSIS Performance Visualization - shows a graphical gantt chart view of the execution durations and dependencies for a package to help visualize performance Variables Window Extensions - is designed to extend the Variables window in the SSIS package designer

### Reporting Services

Dataset Usage Reports - displays a list of used and unused Reporting Services datasets
Delete Dataset Cache Files - automates the deletion of the .rdl.data files
Smart Diff - compares versions of a SSAS, SSIS, and SSRS files

### General

Enable/Disable features - allows for the enable and disable individual features
Preferences - allows for the configuration of features via a Preferences screen
Version Notification - assists in staying current by displaying an alert when a new BIDS Helper version is released