Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Power BI. Из таблицы получить агрегированную таблицу  [new]
ferzmikk
Member

Откуда:
Сообщений: 1665
Здравствуйте!

+Есть исходная таблица в Power BI
Регион города Город Категория1/Категория2 Клиент Отгрузки Количество ТТ
Регион1 Город1 Категория1 Клиент1 10
Регион1 Город1 Категория1 Клиент2 20
Регион1 Город1 Категория2 Клиент3 30
Регион1 Город1 Категория1 Клиент4 40
Регион1 Город1 Категория1 Клиент5 12
Регион1 Город2 Категория1 Клиент6 20
Регион1 Город2 Категория2 Клиент7 45
Регион1 Город2 Категория1 Клиент8 47
Регион1 Город3 Категория1 Клиент9 30
Регион1 Город3 Категория1 Клиент10 45
Регион1 Город4 Категория1 Клиент11 12
Регион1 Город4 Категория1 Клиент12 54
Регион2 Город5 Категория2 Клиент13 45
Регион2 Город5 Категория2 Клиент14 5
Регион2 Город5 Категория1 Клиент15 4
Регион2 Город5 Категория1 Клиент16 12
Регион2 Город5 Категория1 Клиент17 7
Регион2 Город6 Категория1 Клиент18 16
Регион2 Город6 Категория1 Клиент19 19
Регион2 Город6 Категория2 Клиент20 27
+В Power BI надо получить отдельную таблицу из исходной таблицы
Регион города Город Категория1. Отгрузки Количество ТТ Категория2. Отгрузки Количество ТТ
Регион1 Город1 82 30
Регион1 Город2 67 45
Регион1 Город3 75
Регион1 Город4 66
Регион2 Город5 23 50
Регион2 Город6 35 27
1. Скажите, как это сделать с помощью Dax?

2. Если делать в Power Qwery и там создавать источник "Power BI" - "Потоки данных Power BI", то в списке нету таблиц. Как правильно выбрать исходную таблицу?

К сообщению приложен файл (Для Power BI.xlsx - 15Kb) cкачать
14 май 19, 16:32    [21884596]     Ответить | Цитировать Сообщить модератору
 Re: Power BI. Из таблицы получить агрегированную таблицу  [new]
vikkiv
Member

Откуда: London
Сообщений: 2012
ferzmikk,

если у тебя на диалекте PowerQuery (M-Code язык) исходная таблица t1
+
= Table.TransformColumnTypes(Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bZBLCsAgDETv4rqLGn/1LNITFDft/aEOxVRjNoP4yCS8UsxtzWYexIWoCLubc1sRtaAF4be6Fk6f8i28jgJ20YCIUZS7iHclFAZ16gBKA3KMsrzwR7ss9LMNUhG2Bv8hvJ8w2eiFAmF+ISxjqWMX/QiB4CINJE4qbFQRVNgsEXUV1ArPFw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [reg = _t, cit = _t, cat = _t, cli = _t, q = _t]),{{"reg", type text}, {"cit", type text}, {"cat", type text}, {"cli", type text}, {"q", Int64.Type}})
или
+
let t1 =  Table.TransformColumnTypes(Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bZBLCsAgDETv4rqLGn/1LNITFDft/aEOxVRjNoP4yCS8UsxtzWYexIWoCLubc1sRtaAF4be6Fk6f8i28jgJ20YCIUZS7iHclFAZ16gBKA3KMsrzwR7ss9LMNUhG2Bv8hvJ8w2eiFAmF+ISxjqWMX/QiB4CINJE4qbFQRVNgsEXUV1ArPFw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [reg = _t, cit = _t, cat = _t, cli = _t, q = _t]),{{"reg", type text}, {"cit", type text}, {"cat", type text}, {"cli", type text}, {"q", Int64.Type}})
in t1
то искомая t2 будет
+
= Table.Pivot(Table.Group(Table.SelectColumns(t1,{"reg","cit","cat","q"}),{"reg","cit","cat"},{"q", each List.Sum([q])}),List.Distinct(t1[cat]),"cat","q")
или
+
let t2 = Table.Pivot(Table.Group(Table.SelectColumns(t1,{"reg","cit","cat","q"}),{"reg","cit","cat"},{"q", each List.Sum([q])}),List.Distinct(t1[cat]),"cat","q")
in t2
15 май 19, 05:27    [21884893]     Ответить | Цитировать Сообщить модератору
 Re: Power BI. Из таблицы получить агрегированную таблицу  [new]
vikkiv
Member

Откуда: London
Сообщений: 2012
только зачем тебе нужно делать таблицами (допустим на заднем плане в модели данных) если в PBI есть визуализация типа Matrix, где это прекрасно достигается через drag-and-drop набросив регион и город на строки а категорию на колонны
15 май 19, 05:36    [21884895]     Ответить | Цитировать Сообщить модератору
 Re: Power BI. Из таблицы получить агрегированную таблицу  [new]
ferzmikk
Member

Откуда:
Сообщений: 1665
vikkiv
только зачем тебе нужно делать таблицами (допустим на заднем плане в модели данных) если в PBI есть визуализация типа Matrix, где это прекрасно достигается через drag-and-drop набросив регион и город на строки а категорию на колонны

Потому что это промежуточная таблица
15 май 19, 06:53    [21884905]     Ответить | Цитировать Сообщить модератору
 Re: Power BI. Из таблицы получить агрегированную таблицу  [new]
ferzmikk
Member

Откуда:
Сообщений: 1665
Исходная таблица
+Сохранено в "Имя запроса8"
let
    Запрос1 = AnalysisServices.Database("sales", "profit", [Query="...", Implementation="2.0"]),
    #"Переименованные столбцы" = Table.RenameColumns(Запрос1,{
	{"[Города].[Регион].[Регион].[MEMBER_CAPTION]", "Регион"},
        {"[Города].[Город].[Город].[MEMBER_CAPTION]", "Город"},
	{"[Measures].[Отгрузки количество ТТ]", "Отгрузки количество ТТ"}, 
	{"[Торговые точки].[Клиент].[Клиент].[MEMBER_CAPTION]", "Клиент"},
	{"[Торговые точки].[Категория1/Категория2].[Категория1/Категория2].[MEMBER_CAPTION]", "Категория1/Категория2"}}),
    #"Измененный тип" = Table.TransformColumnTypes(#"Переименованные столбцы",{{"Отгрузки количество ТТ", Int64.Type}})
in
    #"Измененный тип"

vikkiv
let t2 = Table.Pivot(Table.Group(Table.SelectColumns(t1,{"reg","cit","cat","q"}),
{"reg","cit","cat"},{"q", each List.Sum([q])}),
List.Distinct(t1[cat]),"cat","q")
in t2
пишу так
let t2 = Table.Pivot(Table.Group(Table.SelectColumns(t1,{"Регион","Город","Категория1/Категория2","Отгрузки Количество ТТ"}),
{"Регион","Город","Категория1/Категория2"},{"Отгрузки Количество ТТ", each List.Sum([Отгрузки Количество ТТ])}),
List.Distinct([Имя запроса8][Категория1/Категория2]),"Категория1/Категория2","Отгрузки Количество ТТ")
in t2

Выдает ошибку "Expression.SyntaxError: Недопустимый идентификатор."

Как правильно написать?
15 май 19, 07:52    [21884919]     Ответить | Цитировать Сообщить модератору
 Re: Power BI. Из таблицы получить агрегированную таблицу  [new]
vikkiv
Member

Откуда: London
Сообщений: 2012
ferzmikk,

пробуй сначала как дали чтобы понять принцип,
ошибки в добавленной тобой сложности на тебе
(и проверка доступна только тебе т.к. структура/метаданные только у тебя),
можешь на всякий случай версию обновить - хотя это вряд-ли..
16 май 19, 17:42    [21886525]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить