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

10 ANTWOORDEN 10
Mathew-DC
CHAMPION *

door Mathew-DC

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

Raymond_de_Rozario
ACTIVE CONTRIBUTOR ***

door Raymond_de_Rozario

Hoi @Mathew-DC ,

 

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-DC
CHAMPION *

door Mathew-DC

@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 ***

door Raymond_de_Rozario

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-DC
CHAMPION *

door Mathew-DC

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

Ik heb kennelijk zitten slapen, aangezien een aantal velden die ik in mijn rapport heb al doen wat ik wil dat de formule doet

 

Raymond_de_Rozario_0-1723444933461.png

 

De vraag blijft nog steeds, waarom ik de formule niet werkend krijg 🙂


Met vriendelijke groeten,

Raymond de Rozario
Bedrijfskundig applicatiemedewerker

Medisch Centrum Leeuwarden

Raymond_de_Rozario
ACTIVE CONTRIBUTOR ***

door Raymond_de_Rozario

Misschien dat @Chris van den Berg of @TheoLescure hier antwoord op hebben :-). Wanneer ik jouw metingen toevoeg aan mijn rapportage, dan wordt alle data eruit gefilterd en is mijn visual blanco.


Met vriendelijke groeten,

Raymond de Rozario
Bedrijfskundig applicatiemedewerker

Medisch Centrum Leeuwarden

Jorn Haverkort
CONTRIBUTOR **

Hee Raymond,

 

Als ik een poging doe in de Power BI desktop krijg ik de melding dat de 'Person' geen relatie heeft met 'Contract Role Assignments'.

JornHaverkort_1-1723534555470.png

Wanneer ik een nieuwe relatie wil toevoegen krijg ik wel de melding dat er al meerdere paden zijn:

JornHaverkort_3-1723535236277.png

Ik heb bijzonder weinig kennis van Power BI op dit gebied dus misschien zegt dit ook helemaal niks. Natuurlijk ben ik wel erg benieuwd dus vandaar dat ik ook even aanhaak. 

 

Mocht je nog opzoek zijn naar een formule die in een berekende kolom "J" aangeeft wanneer de roltoewijzing actief is en de persoon inactief, dan kan je de volgende gebruiken :

IF(AND('Contract Role Assignments'[Person Status]="Inactief",'Contract Role Assignments'[Status]="Actief"), "J", "N")
 
JornHaverkort_0-1723532881890.png

Met vriendelijke groet,

 

Jorn Haverkort

Raymond_de_Rozario
ACTIVE CONTRIBUTOR ***

Dank je wel voor je toevoeging Jorn. Voor het initiële probleem heb/had ik zelf al een oplossing. Nu is het de vraag richting Visma waar ik erg benieuwd naar ben.


Met vriendelijke groeten,

Raymond de Rozario
Bedrijfskundig applicatiemedewerker

Medisch Centrum Leeuwarden

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