Sunday, October 4, 2020

Power BI Dynamic Row Level Security (RLS)

If you were like me trying to implement RLS using fields other than email, then you have come to right place.

RLS will automatically replace the value in filter for you.

Simply use the UserPrincipalName() or UserName() function on the column you want to identify users. It can be any string that can identify user. 

Example: Email Id, Guid, Name etc.

Power BI automatically replace the value in the function based on the value that will be supplied to apply the security in the report.

HTH.

Wednesday, September 9, 2020

Get Row Count in Powerbi Report (paginated report)

 Hi, How to get total number of rows in your report?

  1. Make sure you select a field which is NOT Nullable.
  2. Then insert a Textbox in the report
  3. Write Expression to display data in the expressions for Textbox.
  4. Expression:  =Count(Fields!EmployeeName.Value, "DataSet1")
HTH

Sunday, August 16, 2020

Azure BlobTrigger Function (v3) trigger twice

Hello,

Recently we came across a scenario where when the file was being uploaded to Blob via MS Flow, the function trigger (BlobTrigger) would trigger twice which will make the file to run thru function twice. 

Very frustrating!

After couple days of research, found that MS Flow has a setting that lets you upload of file in chunks. 

Turn it off and whola, problem fixed.

Here is screenshot of setting:

Thursday, April 30, 2020

Purge Azure Durable Functions Orchestration History

In this post, I will show how can you clear the orchestration history which is being stored while the function is being executed.

This will help you in the development / debugging process because you dont want to have those activities started while you working on your current problem.

Before you do that, you need to do followings:
  1. Install Function CLI tools (see link below)
  2. Check what Task Hub Name your function is using.

Run the command from Command Prompt (Administrator mode) by setting source as your project folder where host.json files live, usually root folder of the project.

The command is :
func  durable delete-task-hub  --task-hub-name  myfunctionDemoHub

By default, the function uses "TestHubName" if not one set. 

To set your own "Hub Name", you would need to edit host.json as below:
{
  "version": "2.0",
  "extensions": {
    "durableTask": {
      "hubName": "myfunctionDemoHub"
    }
  }
}

To see the hub used by the function, you can that on console:

This link has usage has many commands that can be useful.

HTH

Thursday, April 16, 2020

How to see MSMQ in Windows10?

If you have MSMQ component installed, then to go to MSMQ, you would do following:

  1. Click Start 
  2. Start typing Computer Management
  3. This will open a MMC window 
  4. Under Services and Applications -> Message Queuing

Friday, February 7, 2020

Cannot load script for execution to new SQL Server version

To fix above error, make sure the SSIS project is referenced to right SQL Server version.

To do so:

  1. Right click on Integration Project
  2. Click Properties
  3. Pick your sql version (see image below):

Wednesday, February 5, 2020

Merge join unpredictable behaviors


Today while on SSIS package, found very strange behavior where I will keep seeing rows coming for update but nothing would update because there was nothing to update.

Also would see rows that exist in destination but Merge join will bring them for insert. Strange!

After hours of research, found if you have "Sort" defined in one source in SSIS and order by defined in other source inside SQL Server then you will see all kind of unexpected behaviors.

Sort operation in SSIS is caSE Sensitive and it will NOT work right if there is data source that already is sorted in sql server.

So in short:
1. Dont mix sources with "Sort" in SSIS and with "order by" defined in sql server.
2. Sort operation inside ssis is caSE sensitive.
3. Keep one of the order by kinds. Either all from sql server or just defined inside SSIS.


HTH



Testing SSIS connectivity hangs...

Hi,

If you are experiencing "Testing Connectivity..." hang issue where the VS is just waiting then it is OK to kill the instance and review the packages using text editor.

In my case I had Connect Timeout = 0 and if server names were not present, the VS will never stop searching for it.

I had to open SSIS package in Textpad, search for Connect Timeout setting and change it 30(seconds) from 0.

OR

Other option would be to Work Offline.
But this option will only be set once the package open fully after Testing connectivity is done.

HTH.

Thursday, January 30, 2020

Visual Studio 2019 - SSIS Project InCompatible

Hello, You will be surprised that Visual Studio itself will give you hint to disable SSIS extension.






and once you disable this extension, your SSIS project is not compatible with VS 2019 any more.
To fix this, you need to do re-enable it.

Choose Extensions > Manage Extensions. Go to Installed enable it there.









HTH