måndag 27 februari 2012

Hur kan man sätta behörighet på kalkylerade mätvärden i SSAS-kub?

Tänkte dela med mig av en lösning på ett problem som jag haft. Nämligen problemet att i en kub sätta säkerhet på kalkylerade mätvärden.

Problemet är att man bara kan sätta behörighet på vanliga mätvärden och dimensioner.

För att göra detta måste man i SSAS 2008 skapa en kalkylerad medlem i lämplig faktatabell i dsv:n denna tilldelar man värdet 0. Tar in den medlemmen i kuben, och tilldelar den det beräknade värdet i ett scope i scriptvyn i "calculations".

Då dyker den upp under "dimensionen Measures" som möjlig att sätta säkerhet på.

Bättre förklarat i denna artikel!


Men som medlem i en roll som inte ska ha tillgång till det specifika kalkylerade mätvärdet får man nu ett felmeddelande och kuben kan inte browsas alls från den rollen.

Då hittade vi följande artikel som beskriver hur man löser det senare av problemen.
Dvs att man måste göra följande check i sin scopesats:

SCOPE (IIF(iserror(strtomember("Measures.[Average Test]")),|a measure no user would be denied|,Measures.[Average Test]));
if not(iserror(strtomember("Measures.[Average Test]"))) then
THIS = |WHATEVER I WANT TO CALC!|
end if;
END SCOPE

Och nu funkar det som tänkt.

Inga kommentarer:

Skicka en kommentar