Страницы: 1
RSS
PowerPivot - создание связей между таблицами, Ошибка о неуникальности значений
 
Есть 2 таблицы, экспортированные в Excel - PowerPivot. Условно это отгрузки из SAPa с русскими "Название" товара (1) и таблица с мастер-данными "Русские названия-Английские названия" (2). Так вот хочу сделать связи "Название"-"Русское название", ругается "The relationship cannot be created because each column contains duplicate values. Select at least one column that contains only unique values". 10 раз уже проверила, что "Русские названия" из таблицы (2) уникальны, дубликатов нет. Даже TRIM() сделала. Может кто сталкивался? Подскажите, плиз.

Заранее спасибо.
 
PoverPivot под рукой нет, не помню точно, а направление связи идет от таблицы 1 к таблице 2 "один-ко-многим", или в PoverPivot такого параметра нет?
Если есть, то соответственно надо наоборот, от 2 к 1
F1 творит чудеса
 
По идее да, от 2 к 1, но я и так, и так пробовала. Никак не идет:(
 
"Нюанс в том, что подчиненная (вторая) таблица должна содержать только уникальные значения элементов в ключевом поле - иначе связь создать не получится."
Это вот отсюда http://www.planetaexcel.ru/techniques/8/158/, почитайте
 
Они и есть уникальные. Я уже и в Excel проверила. Сделала модель данных в Access. Там всё ок. В PowerPivot не хочет:(
 
а может кинете сюда вашу вторую таблицу с уникальными значениями, вдруг что прояснится
 
Сюда большие файлы не лезут, а у меня большой:(
 
Не нужен большой.Для примера достаточно 20-40 кБ
 
я пробовала потестить на маленьком списке (100-200 русских названий), там всё получилось без проблем. А вот когда 7000 (весь список) - вот это уже проблема, которую я не знаю как решить(
 
слейте файл на файлообменник (если, конечно, инфа не является конфиденциальной)
кто-нибудь наверняка попробует проверить, все ли значения там уникальны
OfficeProPlus 365x64
Win64forWorkstation
 
Цитата
The data values in the lookup column must be unique. In other words, the column cannot contain duplicates. In PowerPivot for Excel, nulls and empty strings are equivalent to a blank, which is a distinct data value. This means that you cannot have multiple nulls in the lookup column.
Иными словами, в таблице на 7000 строк нет ли пустых значений, пустых строк и пр.?

посмотрите еще здесь. В двух словах: Создаете дубликат таблицы с наименованиями, выполняете на ней операцию "Удалить дубликаты" и дальше используете в ней поле "Русские названия" как ключ 1-к-M
F1 творит чудеса
 
Максим, спасибо) Бланков и Нулей нет.
Remove Duplicates делала уже раньше. С помощью Advanced Filter удалила какие-то еще 5 дубликатов. Никак  :(  
Может PP какие-то символы не любит?  :)
 
Цитата
Marusya_lam пишет: Может PP какие-то символы не любит?
настроены ли еще какие-нибудь связи между этими таблицами?
Проверьте, сколько уникальных записей видит PP в вашей таблице 2 в нужном столбце http://msdn.microsoft.com/ru-ru/library/gg492142(v=sql.110).aspx
Сверьте с количеством. Если расходится - ищите дубликаты, если одинаково - тогда пишите, будем еще думать. Но без файлов это сложно, конечно.
F1 творит чудеса
 
На 99.9% уверен в наличии дубликатов или пустых строк внизу таблицы. Также работаю с powerpivot
 
Точно, в таблице 7226 записей, а через DistinctCount - 7218. Уже на полпути к успеху. Только теперь надо их найти. Мне кажется я уже все перепробовала в плане удаления дубликатов, но буду пытаться дальше. Через 1. Remove Duplicates пробовала, через 2. Advance filter - unique records only, через 3. построение сводной таблицы (по идее же выводит только уникальные в Rows), через формулу 4.=SUMPRODUCT(1/COUNTIF(SKUDescr[Название];SKUDescr[Название), через 5. Comditional formating.

Везде показывает 7226:(

Сейчас куда-нибудь выложу файл
 
вот файл только с "дубликатами" http://filedeluxe.com/db7e6fyjohuh.html
 
Marusya_lam, Дублей в первом столбце нет, но есть кавычки, которые PowerPivot не очень любит и возможно когда вы втягиваете данные PP он их воспринимает как разделитель строки или еще как какую то служебную инфо.
У Вас нет возможности вытаскивать отгрузки из SAP и мастер данные с артикулом товара? - будет намного проще связывать тогда. В противном случае через "найти/заменить" попробуйте удалить все кавычки в двух файлах и после этого удалить дубликаты.
У меня таким образом по вашему файлу из 7226 осталось 7159

Up:
Ваша задумка кажется мне весьма провальной, нужно все же привязывать по коду/артикулу/уникальному наименованию, но никак не по русскому, поскольку в Вашем файле встречаются такие вот интересные названия:
Актовегин р-р д/ин. 40мг/мл амп. 5мл N10 РоссияSOTEX
Актовегин р-р д/ин. 40мг/мл амп. 5мл N10 Россия SOTEX
Актовегин р-р д/ин. 40мг/мл амп. 5мл N10 Россия "SOTEX"
Актовегин р-р д/ин. 40мг/мл амп. 5мл N10 Россия
Актовегин р-р д/ин. 40мг/мл амп. 5мл №10SOTEX
Изменено: DJ_Marker_MC - 09.12.2014 23:40:40
 
DJ_Marker_MC, спасибо) Я попробую.

Да, я знаю, что по кодам лучше. Но выгрузка из SAPa - это только часть всей схемы, где есть еще куча других отчётов от дистрибьюторов (поэтому и получается список не из 140 наименований, которые есть  физически в нашей компании, а 7000), у которых нет никаких кодов, поэтому связывать по Названию - это единственный способ.  
 
Удалила все кавычки, удалила все дубликаты, получилось 7153, тогда как в =DISTINCTCOUNT получилось 7144 (на 9 меньше). Так что дело на в них.
 
Ура!!! Нашла дубликаты! Не понимаю, почему они не удалялись. Вот эти:
Кальций Д3 Никомед таб. жеват. 500мг+200МЕ №50 (апельсин.)
Кальций Д3 Никомед таб. жеват. 500мг+200МЕ №20 (апельсин.)
Кальций Д3 Никомед таб. жеват. 500мг+200МЕ №100 (мятные)
Кальций Д3 Никомед форте таб. жеват. 500мг+400МЕ №30 (лимон.)
Кальций Д3 Никомед таб. жеват. 500мг+200МЕ №30 (мятные)
Йодбаланс таб.200мкг №100
Кальций Д3 Никомед форте таб. жеват. 500мг+400МЕ №120 (лимон.)
Кальций Д3 Никомед таб. жеват. 500мг+200МЕ №100 (апельсин.)
Кальций Д3 Никомед форте таб. жеват. 500мг+400МЕ №60 (лимон.)
Нашла с помощью DISTINCTCOUNT (сделала сводную таблицу, перенесла Calculated field в Value и увидела 9 двоек).

Всем спасибо)))
 
ну вот и славно
F1 творит чудеса
 
То есть, получается, что какие-то ячейки для обычной PivotTable дубликатами не являются, а в Pivot через PowerPivot - являются.

Я, кстати, так и не поняла, что в них разного (ячейках).
Вот пример:
Кальций Д3 Никомед таб. жеват. 500мг+200МЕ №20 (апельсин.)
Кальций Д3 Никомед таб. жеват. 500мг+200МЕ №20 (апельсин.)
Обычный не видит, что они одинаковые (нет смешанной латиницы.кириллицы, нет пробелов).
 
а вы у себя в файле посмотрите эти две ячейки из вашего примера через ДЛСТР(). у меня они 64 и 58 символов соответсвенно
 
Цитата
Marusya_lam пишет: Вот пример:
Сколько можно объясняться на пальцах?!
Ищите совета, решения - так давайте без "глухого телефона" - РЕАЛЬНЫЙ пример - в студию!
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
файл то я уже выложила, выше!
 
anyarceva, ага, реально, но ведь 6 символов должно быть визуально видно. Короче, это что-то новое для меня.
 
это видимо непечатаемые символы. если к исходным данным применить ПЕЧСИМВ(), то все вроде норм. ДЛСТР() совпадает:)
 
Как убрать непечатаемые символы. (формулы, макросы)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Круто, спасибо большое, вместе с Trim теперь буду делать и Clean
Страницы: 1
Наверх