Вы можете использовать ниже подход, чтобы иметь возможность запрашивать живую исходную таблицу с затемненными/фиктивными точками данных
#standardSQL
CREATE TEMP FUNCTION dummy_string(value STRING)
AS ((SELECT CONCAT(value, '_', CAST(CAST(100000* RAND() AS INT64) AS STRING))));
WITH yourTable AS (
SELECT 'customer1' AS customer, 'address1' AS address, 'phone1' AS phone UNION ALL
SELECT 'customer2' AS customer, 'address2' AS address, 'phone2' AS phone UNION ALL
SELECT 'customer3' AS customer, 'address3' AS address, 'phone3' AS phone UNION ALL
SELECT 'customer4' AS customer, 'address4' AS address, 'phone4' AS phone UNION ALL
SELECT 'customer5' AS customer, 'address5' AS address, 'phone5' AS phone
)
SELECT * REPLACE(
dummy_string('aaaa') AS address,
dummy_string('bbbb') AS phone
)
FROM yourTable
Вы можете использовать любое запутывание логики вы хотите иметь его реализацию в dummy_string() SQL UDF
Еще больше - на основе этого запроса вы можете сделать представление, которое будет находиться в отдельном наборе данных (отличном от набора данных, где имеется исходная таблица), чтобы любой, кто получит доступ к этому представлению (но не к исходной таблице), сможет изучить таблицу, но со скрытой/думкой моя данные-точка вашего выбора
Следуйте ниже шагов, чтобы это произошло
1 - Создание представления в наборе данных, отличных от набора данных, где yourTable
проживает. Это важно!
#standardSQL
SELECT * REPLACE(
CONCAT('aaaa', '_', cast(CAST(100000* RAND() as INT64) as string)) AS address,
CONCAT('bbbb', '_', cast(CAST(100000* RAND() as INT64) as string)) AS phone
)
FROM yourTable
Как вы можете видеть здесь - я не использую SQL UDF, поскольку UDF не поддерживаются View (пока - я надеюсь)
2 - Перейти Разделить Dataset меню набора данных, где исходная таблица является и добавить только созданный вид Уполномоченного View
3 - Перейти Разделить Dataset меню набора данных, где создаются вид и добавить в качестве средства просмотра тех пользователей, которые вы хотите иметь возможность играть с запутанной исходной таблицей
Над Setup - пользователь может видеть и использовать вид - но они не будут иметь доступ к исходной таблице/данные
#standardSQL
SELECT *
FROM yourView
Я думаю, что этот пример может помочь вам