J'ai une table Table1 :
F1 | F2
-------
a | 1
a | 2
b | 1
c | 2
Je voudrais définir une mesure MyMeasure qui me permettrait de générer un tableau :
F2 | Count
----------
1 | 2
2 | 1
Où les valeurs dans Count proviendraient de la fonction CUBEVALUE comme :
=CUBEVALUE("ThisWorkbookDataModel","[Measures].[MyMeasure]","[Table1].[F2].&[1]")
=CUBEVALUE("ThisWorkbookDataModel","[Measures].[MyMeasure]","[Table1].[F2].&[2]").
La logique de MyMeasure devrait être :
1) Trouver la valeur minimale F2 pour chaque groupe de F1 (a -> 1, b -> 1, c -> 2).
2) Éléments de comptage distincts en F1 pour une valeur spécifiée à partir du point précédent.
J'ai réussi à le faire en utilisant une colonne d'aide dans le modèle de données, mais j'aimerais y parvenir avec une seule mesure.
La tentative la plus récente est :
=COUNTROWS(
GENERATE(
all(Table1[F2])
,SUMMARIZE(
all(Table1),Table1[F1],"sth",min(Table1[F2])
)
)
)
Si je comprends bien, je me trompe dans le contexte et j'obtiens donc.. :
F2 | Count
----------
1 | 6
2 | 6
En T-SQL, je peux générer la sortie en utilisant une requête :
select distinct
t1.F2
,count(*) over (partition by t1.F2)
from (select distinct F2 from Table1) t1
right join (select F1, min(F2) as MyMin from Table1 group by F1) t2
on t1.F2 = t2.MyMin