2015-11-05 4 views
0

система: Excel 2013создать сводную таблицу в мощности поворота или мощности запроса

мастер-файл был создан с несколькими столбцами, включая 1 ID столбца и 2 столбцов дат (дата создания и дата выпуска).

ID  CreateDate Release Date 
124520 04/09/2015 05/09/2015 
228551 05/09/2015 07/09/2015 
228552 06/09/2015 08/09/2015 

Как создать сводную таблицу, которая выглядит как показано ниже с помощью PowerPivot или PowerQuery?

Date  NumOfIDsCreated  NumOfIDsReleased 
04/09/2015 1     0 
05/09/2015 1     1 
06/09/2015 1     0 
07/09/2015 0     1 
08/09/2015 0     1 

В настоящее время я создаю таблицу в Excel с двумя таблицами PowerPivot (с указанием даты и подсчитывать) и отдельную таблицу со всеми датами, чтобы запустить поиск из обеих таблиц PowerPivot. Есть ли лучший способ сделать это?

ответ

0

Вот альтернативный способ превратить вашу таблицу

Ключевым моментом является - использование рассчитываемая запись в group_by_date.

let 
    src = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], 
    change_types = Table.TransformColumnTypes(src,{{"CreateDate", type date}, {"ReleaseDate", type date}}), 
    unpivot = Table.UnpivotOtherColumns(change_types, {"ID"}, "attr", "value"), 
    group_by_date = Table.Group(unpivot, {"value"}, {{"rec", each 
    [ 
     NumOfIDsCreated=List.Count(List.Select([attr], each _="CreateDate")), 
     NumOfIDsReleased=List.Count(List.Select([attr], each _="ReleaseDate")) 
    ]}}), 
    expand = Table.ExpandRecordColumn(group_by_date, "rec", {"NumOfIDsCreated", "NumOfIDsReleased"}, {"NumOfIDsCreated", "NumOfIDsReleased"}), 
    sort = Table.Sort(expand,{{"value", Order.Ascending}}) 
in 
    sort 
+0

есть способ src = таблица/модель данных, созданная в powerpivot? – woshishui

0

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

Если вы используете 2016+ (эта функция должна появиться в версии GA из Excel от того, что я слышал) или приложение питания BI Desktop, то вы можете создать расчетные таблицы в модели с помощью DAX:

Предполагая активное отношение между FactTable [CreateDate] и DimDate [Date] и неактивное отношение между FactTable [ReleaseDate] и DimDate [Date].

CreateDateCount:= // Note this is a measure 
COUNTROWS(FactTable) 

ReleaseDateCount:= // also a measure 
CALCULATE(
    COUNTROWS(FactTable) 
    ,USERELATIONSHIP(FactTable[ReleaseDate], DimDate[Date]) 
) 

SummarizedFact= // note this is a calculated table 
FILTER(
    ADDCOLUMNS(
     DimDate 
     ,"IDsCreated" 
     ,[CreateDateCount] 
     ,"IDsReleased" 
     ,[ReleaseDateCount] 
    ) 
    ,[IDsCreated] || [IDsReleased] 
) 

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

+0

Это потребность в отчетах, и главный файл создается с помощью комбинации с PowerQuery и PowerPivot, поэтому две даты находятся только в одной таблице в PowerPivot, используя связанный func ... Есть ли способ применить это? – woshishui

+0

Я не понимаю ваш вопрос. У вас нет таблицы со структурой вашего первого примера в вашей модели? – greggyb

+0

сейчас работает. Благодаря, – woshishui

Смежные вопросы