Forum Discussion

Patrick_Goh_YY's avatar
Patrick_Goh_YY
Regular Visitor
3 years ago
Solved

Using DAX to Create a Table

Hi Folks

 

Good day to you.

Need some help over here.

 

I am trying to use a text filter visual for the Employee ID here. Has been trying to figure how can I, upon entering  the Employee ID, filter out and show a table visual of the details of the person with same NRIC No.

 

I have got a set of sample data here.

NRIC NoEmployee IDNameDate JoinedDate ResignedDept
S1111111S1201111Patrick Goh03-May-8605-Jul-88HR
S1111111S1203332Patrick Goh06-Jan-9223-Dec-99HR
S1111111S1201212Patrick Goh25-Aug-18 IT
S2222222S1201313Susan Ong31-Jan-1523-Aug-18IT 
S2222222S1304431Susan Ong16-Sep-22 HR 
S3333333S1312353Alison Lim12-Dec HR
S4444444S1233332Joseph Tan08-Oct-1815-Jan-21HR
S4444444S16705555Joseph Tan16-Jan-21 HR

 

For example when I key in 1203332, I will see the 3 records of this person (1201111, 1203332 and 1201212) of the same NRIC no.

 

Purpose: To track rejoining staff. A staff may leave a company and rejoin again. A rejoin staff will be given a new Employee ID. However, NRIC No is the number that will never change, from the day we are birth till we die. Trying to see how I can create this to check.

 

Thanks for your help!

  • FreemanZ's avatar
    FreemanZ
    3 years ago

    hi Patrick_Goh_YY 

    try the following:

    1) plot a slicer based on a calculated table like:

    Slicer = ALL(data[Employee ID])

     2) plot a table visual with all the columns, but filter the visual with a measure like:

    measure = 
    VAR _no = 
    MAXX(
        FILTER(
            ALL(data),
            data[Employee ID]=SELECTEDVALUE(Slicer[Employee ID])
        ),
        data[NRIC NO]
    )
    RETURN
    IF(
        MAX(data[NRIC NO])=_no,
        1, 0
    )

    choose 1.

     

    it worked like:

     

  • Hi Patrick_Goh_YY 

    Please refer to attached sample file with the proposed solution

    FilterMeasure = 
    VAR EmpNames = 
        CALCULATETABLE ( 
            VALUES ( 'Table'[Name] ), 
            'Table'[Employee ID] IN VALUES ( Employee[Employee ID] ),
            ALL ( 'Table' )
        )
    RETURN
        COUNTROWS ( 
            FILTER ( 
                'Table',
                'Table'[Name] IN EmpNames
            )
        )

4 Replies

  • Here's the sample data in a cleaner view

    NRIC NoEmployee IDNameDate JoinedDate ResignedDept

    S1111111S

    1201111

    Patrick Goh

    03-May-8605-Jul-88

    HR

    S1111111S1203332Patrick Goh06-Jan-9223-Dec-99HR
    S1111111S1201212Patrick Goh25-Aug-18 IT
    S2222222S1201313Susan Ong31-Jan-1523-Aug-18IT
    S2222222S1304431Susan Ong16-Sep-22 HR
    S3333333S1312353Alison Lim12-Dec-22 HR
    S4444444S1233332Joseph Tan08-Oct-1815-Jan-21HR
    S4444444S1670555Joseph Tan16-Jan-21 HR

     

    • FreemanZ's avatar
      FreemanZ
      Super User

      hi Patrick_Goh_YY 

      try the following:

      1) plot a slicer based on a calculated table like:

      Slicer = ALL(data[Employee ID])

       2) plot a table visual with all the columns, but filter the visual with a measure like:

      measure = 
      VAR _no = 
      MAXX(
          FILTER(
              ALL(data),
              data[Employee ID]=SELECTEDVALUE(Slicer[Employee ID])
          ),
          data[NRIC NO]
      )
      RETURN
      IF(
          MAX(data[NRIC NO])=_no,
          1, 0
      )

      choose 1.

       

      it worked like:

       

  • tamerj1's avatar
    tamerj1
    Community Champion

    Hi Patrick_Goh_YY 

    Please refer to attached sample file with the proposed solution

    FilterMeasure = 
    VAR EmpNames = 
        CALCULATETABLE ( 
            VALUES ( 'Table'[Name] ), 
            'Table'[Employee ID] IN VALUES ( Employee[Employee ID] ),
            ALL ( 'Table' )
        )
    RETURN
        COUNTROWS ( 
            FILTER ( 
                'Table',
                'Table'[Name] IN EmpNames
            )
        )