This is a brilliant utility! You just saved me hours of manual, tedious changes to merge two cubes. And you found several changes that I would have overlooked. Microsoft should buy this from you to include in the base product. Thanks for making this available!
i don't write reviews usually.. but this is AMAZING!!! we've developed scripts to do automatic partitions on our tabular cubes, so redeploying changes from the SSDT project is a NO NO, as it erases my existing partitions all the time.
Using BISM normalizer gives me the confident to make metadata / structural changes to our server, without worrying that it would accidentally overwrite other stuff, such as my auto created partitions, and I can review the xmla scripts before I run it.
i seriously won't know what to do if it were not for bism normalizers
p.s. also i was just cursing my life when i couldn't get the BIDS helper actions deployed to my prod (and I don't want to do deploy from SSDT), come here, and found out that the new version now supports it! amazing!
Would it be possible to enhance the tool so it supports default measures?
We are currently using the approach at this link to manually apply the measure to the XMLA script: http://www.sqlservergeeks.com/sql-server-analysis-services-assign-a-default-measure-in-ssas-tabular-model-solution/
BISM Normalizer is giving us the following error message when pushing a change to our tabular model:
"Cannot query internal supporting structures for column 'Table_X'[RowNumber] because they are not processed. Please refresh or recalculate the table 'Table_X'."
We can't seem to get past this error. Have you seen this before?
It looks like you have deployed some changes that require reprocessing a table in the target model. Currently BISM Normalizer doesn't have functionality to do processing as part of the deployment. It needs to be done in Management Studio, or using whatever mechanism you have for processing.
I actually have it as a feature I would like to add in the future - to do processing as part of the deployment from BISM Normalizer - but it is not in the product yet.
It's been great using the BISM Normalizer, thanks for developing this tool.
I need your help as I have recently come across an issue with the BISM Normalizer where I get the following error when I click the "Validate Selection" button:
No room is available to display rows.
I have installed the latest version, 184.108.40.206, but that didn't solve the problem. I work with 2 other colleagues on this project and they are not hitting this error so I'm wondering if it's something with my workspace database. Any leads you can provide would be very much appreciated.
At least one other user has had the same problem, but I have been unable to reproduce it. If the same tabular project works on your colleagues' machines, it may be something environmental to do with your machine set up.
If you like, I can set up a Webex for you to show me reproducing the error - just in case something comes up. If so, e-mail me at firstname.lastname@example.org and I'll set it up. Obviously I'd like to reproduce it, but it is proving a tricky one to reproduce!
Hi Prafulla - I have still not been able to reproduce this. I will be making some big changes to a release in a few weeks. If you still have this problem with the new release, maybe we can webex for me to see.
I'm getting the following error message when doing a "Validate Selection":
Another 'DatabasePermission' object has the 'DatabasePermission 2' name
Any idea what this is about?
I have installed BISM Normalizer 220.127.116.11 on VS2012 SP4. However, I find that it do not load. After looking at the ActivityLog, it seems require VS2013 assembly to work:
<description>End package load [BismNormalizerPackage]</description>
<hr>80004005 - E_FAIL</hr>
<errorinfo>Could not load file or assembly 'Microsoft.VisualStudio.Shell.12.0, Version=18.104.22.168, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.</errorinfo>
So I install VS2013 isolated shell, and then I can load the application. But When I start compare the model. The same error popped up again:
Could not load file or assembly 'Microsoft.AnalysisServices, Version=22.214.171.124, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
I'm quite upset that my beloved tool does not work on VS2012, but unfortunately My company has not upgraded to VS2013 yet.
Is there any solution to resolve?
I tried to get the already modeled structure from a deployed project into an empty one. The idea behin it is to use the modeled hierarchies etc. and get them into a new model. Next step would be to add a new fact and build the relationships.
The only thing that worked for me was getting all content of the model into my new one and then delete what I did not need any more. Every other option I tried like selecting only the connection and one table (skip the rest) did not succeed.
Am I doing things wrong or is this just a use case BISM normalizer is not meant to handle.
BISM Normalizer should work well for your requirement. Do you want to do a Webex so you can show me the process you are following? If so, e-mail me at email@example.com and I'll set something up.
thank you for your support. During the Webex we installed the latest version and everything worked as expected. Problem was the same as in the topic below the existence of measures with ']' in their names.
if the name of a measure contains '[' or/and ']' the name is cut off in the Diff-Viewer window
Also the wrong definition seems to be derived from online databases in this case
maybe a similar issues exists for other special characters too?
Version 126.96.36.199 deals with the ']' character (with a caveat - read below). I did some digging ...
Before SP1, no special characters were even allowed in measure names.
Since SP1, special characters are allowed. However, if you open the .bim file and look at the XMLA for the command text in the MdxScript elements, you will see that Microsoft does a replacement of ']]' with ']' when displaying in the tabular model designer (genius). I'm assuming they have some code that depends on ']]' to parse measure names and know when the end of the measure name occurs.
I have built similar logic to allow BISM Normalizer to work with ']' characters, but I have not gone to the trouble of displaying ']]' as ']'. It should update/create measures in the target database without problems and they will appear the same as in the source model in the tabular model designer, but in the BISM Normalizer differences grid, they show as ']]'.
Maybe at a later date, I will change it to show as ']'. We'll see.
Thanks for pointing this out.
It seems that BISM Normalizer only gets installed for the latest installed version of Visual Studio. E.g. if you have VS 2010, 2012 and 2013 installed then BISM Normalizer is only available for VS 2013. It also seems that it is installed for the current user only.
to make it available for other VS versions and other users you have to manually copy the Addin-files
would be great if this could be selected in the setup:
- for which VS version to install it (multiselect)
- current user vs. all users (radio button)
is this possible?
would be great :)
You should not need to copy the files from one folder to another. When going through the installation wizard, it should give the option to change the installation directory. It defaults to something like "C:\Users\xxx\Documents\Visual Studio 2013\Addins", but you can change it.
In Visual Studio > Tools > Options > Environment > Add-in/Macros Security, it lists all the addin file paths. One of them is
which normally maps to
I think if you select this as the installation directory for BISM Normalizer it will be shared across users and VS versions.
Alternatively can manually point all Visual Studio instances at the same BISM Normalizer installation directory, which also avoids copying the files.
This also means that upgrading to a new version of BISM Normalizer is simpler because don't risk having different VS versions using different versions of BISM Normalizer.
My copy of BISM normaliser has expired, the message tells me the last day is 2014-06-30, I’ve uninstalled and downloaded the most recent version but I’m still getting that error, the version I Am running is 1.3.13. Is there a later version?
Version 1.3.13 should run till end of 2014. Please check the Visual Studio About box. It will have an item for BISM Normalizer (at bottom of list of installed extensions) that shows the version number. If that doesn't work, we can keep investigating.
So in the project, we had a few partition for the fact to start out. After it's in production, we have a separate process to dynamically create new partition daily and process that only (due to large amount of data daily).
Historically, using BISM, and not select "include partition" in comparison servers us extremely well when we try to deploy minor changes to cube, such as attribute name change, new attribute in existing dimension, etc.
However, when we need to add new dimension, thus new relationship between the fact and a few new table/dimension, it doesn't work anymore.
Even with ignoring partition, when I deploy the new dimension to production, BISM normalizer would still wipe away all the dynamically created partitions in fact table, thus basically erasing months of data. :( Luckily we took a backup beforehand
We had a couple workaround in mind, but would be really great if it still retains the dynamic partitions even when we are deploying new dimensions.
Thanks for the question.
BISM Normalizer retains partitions only if the table action is "Skip". An "Update" action performs a full update from the source definition (including partitions). Technically, an Update replaces the target table definition with a clone from the source. Same applies to other "first-class" objects - i.e. that have their own node in the differences grid. Partitions do not, because they are part of table definitions.
The "include partitions in table definitions" checkbox in the Options dialog affects only the comparison process, not the update process.
When I have previously had to make changes to existing tables that have partitions managed by the ETL ("dynamic partitions"), I have allowed for the time to fully rebuild and reprocess partitions. Changes such as adding a new column require all partitions to be reprocessed anyway before it is usable.
One more thing, if you are saying that a new definition of the dimension table wipes out the fact table (different table) without any structural changes to the fact table, then that should not happen - unless again, the fact table definition changes - like adding a new column (e.g. foreign key column to the new dim table).
If you are saying the fact table has an action item of Skip and still it's partitions are being wiped out, then please e-mail me on firstname.lastname@example.org for further offline investigation.