[英]Filter data dynamically based on a hierarchical user id in cube.js
我有兩個名為 Writers 和 Publications 的表,其中有一個外鍵publications.writer_id = writers.id
編號(整數) | parent_id(整數) | 角色(可變字符) | 名稱(可變字符) | 路徑(ltree) |
---|---|---|---|---|
1個 | 行政 | 名字 姓氏 | ||
2個 | 1個 | 編輯 | 匿名 匿名 | 1.2 |
3個 | 2個 | WEB 編輯 | Maisy 撓癢癢 | 1.2.3 |
4個 | 2個 | WEB 編輯 | 傑克豆莖 | 1.2.4 |
5個 | 3個 | WEB 校對員 | 晴天雷 | 1.2.3.5 |
編號(整數) | writer_id (FK) | publication_name (varchar) | 字長(整數) | 發布(日期時間) |
---|---|---|---|---|
1個 | 2個 | 我的第一本雜志 | 6000 | 2019-09-09 09:00:00 |
2個 | 2個 | 我的第二本雜志 | 6000 | 2019-09-16 09:00:00 |
3個 | 3個 | 我的第一篇文章 | 1000 | 2019-09-23 09:00:00 |
4個 | 4個 | 我的第一篇文章 | 1500 | 2019-09-23 09:00:00 |
5個 | 4個 | 我的第二篇 | 600 | 2019-10-01 09:00:00 |
6個 | 5個 | 我的第一件作品 | 600 | 2020-10-01 09:00:00 |
我想在cube.js
Developer Playground 中進行概念驗證以顯示各種圖表。 是否可以根據 user_id 動態過濾,以便他們只能訪問等於或在其子樹中的內容,即
writers.id=4
) 正在使用該應用程序,他們只能看到自己的文章 ( publications.id in (4,5)
)writers.id=3
) 正在使用該應用程序,他們可以看到他們的出版物和 WEB PROOFREADER 的出版物 ( publications.id in (3,6)
)publications.id=6
)這些是我到目前為止建立的模型
cube(`Writers`, {
sql: `SELECT * FROM public.writers`,
preAggregations: {},
joins: {
Publications:{
sql: `${CUBE}.id = ${Publication}.writer_id`,
relationship: `hasMany`
}
},
measures: {
count: {
type: `count`,
drillMembers: [id, name, created]
}
},
dimensions: {
id: {
sql: `id`,
type: `number`,
primaryKey: true
},
role: {
sql: `role`,
type: `string`,
},
};
cube(`Publications`, {
sql: `SELECT * FROM public.publications`,
preAggregations: {},
joins: {
Writer:{
sql: `${CUBE}.writer_id = ${Writers}.id`,
relationship: `hasOne`
}
},
measures: {
count: {
type: `count`,
drillMembers: [id, name, created]
}
},
dimensions: {
id: {
sql: `id`,
type: `number`,
primaryKey: true
},
wordLength: {
sql: `word_length`,
type: `number`,
},
};
我知道有filters
和segments
,但這些似乎是 static。有什么方法可以傳遞 writer_id 來動態過濾相關數據嗎? (我以前對JS一無所知)
我認為您可以使用 id 過濾器從前端應用程序查詢多維數據集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.