Je suis nouveau pour pouvoir bi et aurais besoin de votre aide pour résoudre le problème ci-dessous auquel je suis confronté.
Fondamentalement, je prends en considération trois colonnes comme ci-dessous:
Question:Je voudrais supprimer les valeurs en double du tableau ci-dessus en fonction des conditions " Une valeur égale pour" Temps "," ID "et la différence absolue dans" Temps passé "est inférieure ou égale à 1 " Comme vous pouvez le voir sur l'image. Les lignes en surbrillance entrent dans cette catégorie.
Je voudrais obtenir ces lignes ci-dessous supprimés en fonction de la condition.
Question: J'aimerais supprimer les valeurs en double du tableau ci-dessus en fonction des conditions " La même valeur pour" Temps "," ID "et la différence absolue dans" Temps passé "est inférieure ou égale à 1" Comme vous le pouvez voir dans l'image Les lignes en surbrillance appartiennent à cette catégorie.
Je voudrais obtenir ces lignes ci-dessous supprimés en fonction de la condition.
Je suis capable de le faire dans Excel en nous faisant une quatrième colonne avec des formules =IF(AND(A3=A2,B3=B2,ABS(F3-F2)<1),"problem",0)
et en filtrant ensuite les lignes marquées comme probelm. S'il vous plaît aider!
Cordialement
Mahi
Je parie que la suggestion de @Alexis Olson fonctionne très bien, mais puisque vous avez spécifiquement mentionné le Query Editor
, voici comment je le ferais ici:
Changed Type
:Ne vous inquiétez pas des autres étapes du Query Settings
. Nous y reviendrons éventuellement.
Add Column
et cliquez sur Index Column
pour obtenir ceci:Add Column
, cliquez sur Custom Column
et insérez cette petite formule dans la boîte de dialogue qui apparaît Table.AddColumn(#"Added Index", "Custom", each #"Added Index"[Time Spent]{[Index]}-#"Added Index"[Time Spent]{[Index]-1})
:OK
et assurez-vous que vous obtenez ceci:Remove Errors
:Does Not Equal
.Notez toutefois que cette procédure a un coût, car vous perdez la première valeur en raison de la première étape de l'indexation. Si vous pouvez utiliser le reste, je peux voir si nous pouvons également régler ce dernier petit point.
Vous pouvez choisir une valeur représentative [Time Spent]
dans chaque ensemble de lignes unique en prenant un maximum ou un minimum dans la liste des valeurs "en double". Voici la formule d'une telle colonne personnalisée, que j'appellerai [Min Time]
:
= List.Min(
Table.SelectRows(#"Previous Step",
(C) => (C[Time] = [Time] and
C[ID] = [ID] and
Number.Abs(C[Time Spent] - [Time Spent]) < 1)
)[Time Spent])
Une fois que vous avez cette colonne personnalisée, vous pouvez grouper par [Time]
, [ID]
et [Min Time]
pour cumuler les doublons, puis renommer la colonne [Min Time]
en [Time Spent]
.