Среднее процентное содержание столбцов в DAX - PullRequest
1 голос
/ 23 мая 2019

У меня есть таблица фактов с именами собраний, содержащая следующее: - штат сотрудников - минуты - тип

Затем я создал сводную таблицу со следующим:

TableA = 
    SUMMARIZECOLUMNS ( 
    'meetings'[staff]
    , 'meetings'[type]
    , "SumMinutesByStaffAndType", SUM( 'meetings'[minutes] )
    )

Это делает сводную таблицу с персоналом в виде строк и столбцов в качестве типов.

Для этой сводной таблицы мне нужно рассчитать каждую ячейку как процент от общего количества столбцов. Для каждого сотрудника мне нужны средние их проценты. Есть только 5 типов собраний, поэтому мне нужно, чтобы сумма этих процентов была поделена на 5.

Я не знаю, как разделить одно число, сгруппированное по двум столбцам, на другое число, сгруппированное по одному столбцу. Я из мира SQL, поэтому мой DAX ужасен, и я отчаянно нуждаюсь в совете.

Я попытался создать еще одну сводную таблицу, чтобы получить сумму минут для каждого типа.

    TableB = 
    SUMMARIZECOLUMNS ( 
        'meetings'[type]
        , "SumMinutesByType", SUM( 'meetings'[minutes] )
    )

Оттуда я хочу 'TableA' [SumMinutesByStaffAndType] / 'TableB' [SumMinutesByType].

    TableC = 
    SUMMARIZECOLUMNS ( 
        'TableA'[staff],
        'TableB'[type],
        DIVIDE ( 'TableA'[SumMinutesByType], 'TableB'[SumMinutesByType]
     )

«Невозможно определить одно значение для столбца« Минуты »в таблице« Min by Staff-Contact ». Это может произойти, когда формула меры ссылается на столбец, содержащий много значений, без указания агрегации, такой как min, max, считать или суммировать, чтобы получить один результат. "

Я продолжаю приходить к этой ошибке, которая заставляет меня поверить, что я не собираюсь идти по этому пути «Power BI».

Я попытался принять меры и создать матрицы в представлении отчетов. Я пытался использовать группирование по функциям в редакторе запросов. Я даже попробовал как меры, так и сводные таблицы. Я, вероятно, слишком усложняю это и далеко от цели, поэтому любая помощь очень ценится.

Вот пример того, что я пытаюсь сделать.

  ## Input/First table
  staff     minutes   type       
 --------- --------- ----------- 
  Bill      5         TELEPHONE  
  Bill      10        FACE2FACE  
  Bill      5         INDIRECT   
  Bill      5         EMAIL      
  Bill      10        OTHER      
  Gary      10        TELEPHONE  
  Gary      5         EMAIL      
  Gary      5         OTHER      
  Madison   20        FACE2FACE  
  Madison   5         INDIRECT   
  Madison   15        EMAIL      
  Rob       5         FACE2FACE  
  Rob       5         INDIRECT   
  Rob       20        TELEPHONE  
  Rob       45        FACE2FACE 


  ## Second table with SUM of minutes, Grand Total is column total.
  Row Labels    EMAIL   FACE2FACE   INDIRECT   OTHER   TELEPHONE  
 ------------- ------- ----------- ---------- ------- ----------- 
  Bill          5       10          5          10      5          
  Gary          5                              5       10         
  Madison       15      20          5                             
  Rob                   50          5                  20         
  Grand Total   25      80          15         15      35 


  ## Third table where each of the above cells is divided by its column total.
  Row Labels    EMAIL   FACE2FACE   INDIRECT      OTHER         TELEPHONE    
 ------------- ------- ----------- ------------- ------------- ------------- 
  Bill          0.2     0.125       0.333333333   0.666666667   0.142857143  
  Gary          0.2     0           0             0.333333333   0.285714286  
  Madison       0.6     0.25        0.333333333   0             0            
  Rob           0       0.625       0.333333333   0             0.571428571  
  Grand Total   25      80          15            15            35      



  ## Final table with the sum of the rows in the third table divided by 5.
    staff     AVERAGE      
   --------- ------------- 
   Bill      29.35714286  
   Gary      16.38095238  
   Madison   23.66666667  
   Rob       30.5952381 

Пожалуйста, дайте мне знать, если я смогу уточнить какой-либо аспект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...