Mijn Communities
Help
Raymond_de_Rozario
ACTIVE CONTRIBUTOR ***

hulp bij formule: 'Contract Role Assignments'[Person_BK] = 'person'[Person_BK]

door Raymond_de_Rozario

je zou zeggen dat het heel eenvoudig is om dit werkend te krijgen, maar zonder powerbi desktop waarbij je expressies kan testen is het niet te doen

 

IF(
'Contract Role Assignments'[Person_BK] = 'person'[Person_BK],
"J",
"N"
)

 

 

geeft de foutmelding "a single value for column "person_bk" in table "Person" cannot be determined". This canhappen when a measure formula refers to a column that contains many values without specifying an aggregation such als min, max, count..."

 

chatgpt vragen komt op onderstaande formules:

 

IF(
RELATED('Person'[Person_BK]) = 'Contract Role Assignments'[Person_BK],
"J",
"N"
)

 

en 

 

VAR PersonBK = SELECTEDVALUE('Contract Role Assignments'[Person_BK])
VAR PersonBKInPerson =
LOOKUPVALUE(
'Person'[Person_BK],
'Person'[Person_BK], PersonBK
)
RETURN
IF(
PersonBK = PersonBKInPerson,
"J",
"N"
)

 

en 

 

VAR PersonBK = 'Contract Role Assignments'[Person_BK]
VAR LookupPersonBK =
LOOKUPVALUE(
'Person'[Person_BK],
'Person'[Person_BK], PersonBK
)
RETURN
IF(
PersonBK = LookupPersonBK,
"J",
"N"
)

 

en 

IF(
COUNTROWS(
FILTER(
'Person',
'Person'[Person_BK] = 'Contract Role Assignments'[Person_BK]
)
) > 0,
"J",
"N"
)

 

laten alleen J zien

 

Ik heb geen PowerBi desktop dus kan ook niet eenvoudig een formule testen, alleen via de webversie. En daar duurt het publiceren van een formule soms een eeuwigheid

 

Wie oh wie heeft een oplossing


Met vriendelijke groeten,

Raymond de Rozario
Bedrijfskundig applicatiemedewerker

Medisch Centrum Leeuwarden

6 ANTWOORDEN 6
Mathew Timmerman
CONTRIBUTOR ***

door Mathew Timmerman

@Raymond_de_Rozario Wat wil je precies bepalen met de formule? Of iemand wel/niet in de Organisatiestructuur voorkomt?

Raymond_de_Rozario
ACTIVE CONTRIBUTOR ***

Hoi @Mathew Timmerman ,

 

Nee ik wil een overzicht maken waarbij ik wil kijken of er nog een actieve roltoewijzing is bij een inactief persoon/dienstverband. Dan moet er een J worden getoond anders een N

 

Raymond_de_Rozario_0-1723208137339.png

 

 


Met vriendelijke groeten,

Raymond de Rozario
Bedrijfskundig applicatiemedewerker

Medisch Centrum Leeuwarden

Mathew Timmerman
CONTRIBUTOR ***

@Raymond_de_Rozario Dat komt qua timing goed uit, want dat is me pas enkele weken geleden (na heel lang mijn hoofd erover te breken) gelukt.

 

Ik heb twee metingen gemaakt onder de entiteit 'Contract Role Assignments':

 

ActvDvbVlag = CALCULATE(COUNTROWS('Contract Role Assignments'), 'Contract Role Assignments'[ContractStatus] = "Actief")

 

GeenActvDvb = CALCULATE(COUNTROWS(VALUES('Contract Role Assignments'[Person_BK])), FILTER(VALUES('Contract Role Assignments'[Person_BK]), [@ActvDvbVlag] = 0))

 

Vervolgens kun je rapporteren op kolommen uit de Roltoewijzingen met de meting GeenActvDvb = 1 (of >=1) in combinatie met 'Einddatum roltoewijzing' = leeg.

Raymond_de_Rozario
ACTIVE CONTRIBUTOR ***

Ik snap ongeveer wat je doet. Ik heb ze nu toegevoegd, alleen duurt het verwerken een eeuwigheid hier. Andere formules staat hij al 1 1/2 uur op te stampen.

 

Maar het is wel raar dat je zo'n omweg er van moet maken, terwijl je eigenlijk heel simpel met

 

IF(
'Contract Role Assignments'[Person_BK] = 'person'[Person_BK],
"J",
"N"
)

 

uit de voeten moet kunnen. Wanneer ik het exporteert naar Excel, dan gaat het wel zo makkelijk. Ik laat het je weten.


Met vriendelijke groeten,

Raymond de Rozario
Bedrijfskundig applicatiemedewerker

Medisch Centrum Leeuwarden

Mathew Timmerman
CONTRIBUTOR ***

Ik snap ook niet helemaal waar het misgaat. Misschien is het iets met de veel-op-één relatie tussen de tabellen, maar dan nog zou je inderdaad verwachten dat het IF-statement niet alleen maar "J" als resultaat geeft.

 

Ik hoor graag of het gelukt is!

Raymond_de_Rozario
ACTIVE CONTRIBUTOR ***

door Raymond_de_Rozario

Wanneer ik het naar Excel exporteer heb ik het zo klaar, maar ik wil het in de rapportage al eruit hebben gefilterd.


Met vriendelijke groeten,

Raymond de Rozario
Bedrijfskundig applicatiemedewerker

Medisch Centrum Leeuwarden