Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion: Exclure NULL d'un DistinctCount [2016]

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Trainee BI
    Inscrit en
    août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Trainee BI

    Informations forums :
    Inscription : août 2018
    Messages : 3
    Points : 5
    Points
    5

    Par défaut Exclure NULL d'un DistinctCount

    Bonjour à tous,

    Je cherche à compter le nombre distinct de clés présentes dans une de mes colonnes dans ma table de faits.

    Pour cela, j'ai créé une mesure sur SSAS avec la fonction d'agrégation "DistinctCount",
    Le problème est que cette fonction compte également les valeurs NULL, et je me retrouve donc dans la plupart des cas avec la valeur recherchée +1...

    Sauriez-vous comment faire pour exclure les NULL d'un DistinctCount sur SSAS ?

    Merci de votre aide !

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Trainee BI
    Inscrit en
    août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Trainee BI

    Informations forums :
    Inscription : août 2018
    Messages : 3
    Points : 5
    Points
    5

    Par défaut UPDATE

    Après moult essais,

    J'ai fini par trouver une formule qui m'affiche le nombre de clés distinctes sans compter de valeurs NULL (et qui ne m'en enlève pas de valeur lorsqu'il n'y en a pas).

    Je vous la glisse ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SUM ( 
    [Dim Inscrit].[PK Inscrit].Members, 
    CASE WHEN [Dim Inscrit].[PK Inscrit].MemberVALUE > 0
    THEN 1
    ELSE NULL
    END )
    Je l'ai rentré dans l'onglet Calculs de SSAS.

    En revanche, le temps d'exécution de cette requête est assez lent, je reste à l'écoute si jamais quelqu'un sur le forum a une formule mieux optimisée...

    Bonne journée à tous !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Trainee BI
    Inscrit en
    août 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Trainee BI

    Informations forums :
    Inscription : août 2018
    Messages : 3
    Points : 5
    Points
    5

    Par défaut UPDATE_BIS

    En fin de compte,

    Pour améliorer tout ce processus, il existe en réalité une méthode assez simple,

    Il suffit de créer une mesure DistinctCount dans SSAS (dans un nouveau groupe de mesure),
    puis retrouver ce groupe dans l'onglet Partitions puis d'ouvrir la fenêtre depuis le champ Source.

    Il faut alors sélectionner "Liaison de requête" puis rentrer une requête qui filtre la table de faits
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM [dbo].[FactTable]
    WHERE [dbo].[FactTable].[Colonne] IS NOT NULL
    Il ne vous reste plus qu'à traiter le cube.. et enjoy !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/06/2008, 19h26
  2. comment exclure les champs qui ont pour valeur NULL
    Par agur29 dans le forum MS SQL-Server
    Réponses: 1
    Dernier message: 05/10/2007, 20h23
  3. [W11]Exclure les chaînes nulles
    Par sebo1100 dans le forum WinDev
    Réponses: 5
    Dernier message: 24/09/2007, 23h58
  4. [VB6] [BDD] Recordset et champ égal à Null
    Par Gr|ppen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/03/2003, 11h00
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 01h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo