• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

SlicerCache wijzigen o.b.v. ingelogde gebruiker

Status
Niet open voor verdere reacties.

BarryT

Gebruiker
Lid geworden
16 apr 2021
Berichten
30
Weet iemand of het mogelijk is bepaalde sliceritems niet zichtbaar dan wel niet selecteerbaar te maken op basis van de ingelogde gebruiker?
Door middel van een Gegevensmodel worden er verschillende tabellen gefilterd door één slicer.

Met deze slicer kan er een andere vestiging geselecteerd worden om de financiele cijfers in te zien.

Aangezien directeur van bedrijf A niet de data van bedrijf B hoeft in te zien, wil ik op basis van application.username restricties opleggen op de weergegeven items in de slicers OF een restrictie op de selecties die mogelijk zijn op de slicer.
Application.username is voor mij gemakkelijk om restricties op te leggen omdat dit binnen de bedrijven altijd hetzelfde format heeft.

Heb al uitgebreid onderzoek gedaan naar slicercaches, maar heb de gewenste oplossing niet kunnen vinden. Hopelijk kan iemand mij in de juiste richting sturen, of juist aangeven dat het helemaal niet mogelijk is wat ik wil.


Voorbeeld bestandje is moeilijk omdat het gaat over een finance dashboard van > 150MB met een koppeling met meerdere ERP systemen.
 
Ik kan jouw vraag niet beantwoorden, omdat ik niet weet of dit in Excel mogelijk is. Wel zou ik in jouw geval overwegen en onderzoeken of Power BI niet een betere optie is. Dan heb je zowel Row Level Security (RLS) als Object Level Security (OLS), dus meer opties om gebruikers op de juiste manier rechten te geven.....

Succes,

Xharx
 
Het kan uiteraard ook in Excel. Echter zou ik financiele gegevens niet afschermen op basis van de username. Deze kan veranderen.
Gevoelige data zou ik ook niet beveiligen binnen Excel
 
De username kan niet veranderen omdat we verbinding maken met een netwerk waarin de gebruikersnaam nooit zal veranderen. Het gaat niet om een lokale gebruikersnaam.

Als het mogelijk is in Excel zou ik graag willen weten hoe.

Power BI is geen optie helaas.
 
Hier een voorzetje.
In de tabel gebruik ik kolom D om bepaalde gebruikers te koppelen aan specifieke data. De slicer kun je eventueel verbergen.

Dus kolom D aanpassen zodat jouw gebruikersnaam ergens staat.
Ook jouw gebruikersnaam toevoegen in de onderstaande array (ar).


Code:
Private Sub Workbook_Open()
 Dim ar, it, x
 ar = Array("User1", "User2", "User3")               'plaats alle gebruikersnamen hier
 x = Application.Match(Environ("username"), ar, 0)
 
 If Not IsNumeric(x) Then MsgBox "U heeft geen leesrechten", vbOKOnly, "Attention": Exit Sub    'nu wordt de macro gestopt, je kunt ook direct het werkboek sluiten.
 With ThisWorkbook.SlicerCaches("Slicer_d")
    .ClearAllFilters
    For Each it In .SlicerItems
       it.Selected = it.Name = ar(x - 1)
    Next
 End With
End Sub
 

Bijlagen

  • Map1.xlsm
    23,1 KB · Weergaven: 10
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan